From eab42e4a6de79a6c9a8454a98d1b0ddc1e75f84b Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Wed, 24 Nov 2021 19:30:59 -0500 Subject: [PATCH] Use presence of Security.SecItemAdd to detect viable macOS API. Ref #529. --- conftest.py | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/conftest.py b/conftest.py index fff77325..ab0021e0 100644 --- a/conftest.py +++ b/conftest.py @@ -1,5 +1,4 @@ -import sys -import platform +import ctypes collect_ignore = ["hook-keyring.backend.py"] @@ -12,16 +11,11 @@ def macos_api_ignore(): Ref #525. """ - def make_ver(string): - return tuple(map(int, string.split('.'))) - - release, _, _ = platform.mac_ver() - - return ( - platform.system() != 'Darwin' - or make_ver(release) > (11,) - and sys.version_info < (3, 8, 7) - ) + try: + ctypes.CDLL(ctypes.util.find_library('Security')).SecItemAdd + return False + except Exception: + return True collect_ignore.extend(['keyring/backends/macOS/api.py'] * macos_api_ignore())