Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-keyring for openSUSE:Factory 
checked in at 2022-01-11 21:17:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-keyring (Old)
 and      /work/SRC/openSUSE:Factory/.python-keyring.new.1892 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-keyring"

Tue Jan 11 21:17:12 2022 rev:42 rq:945432 version:23.5.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-keyring/python-keyring.changes    
2021-09-26 21:49:29.426835319 +0200
+++ /work/SRC/openSUSE:Factory/.python-keyring.new.1892/python-keyring.changes  
2022-01-11 21:20:34.377013831 +0100
@@ -1,0 +2,16 @@
+Mon Jan 10 22:45:36 UTC 2022 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 23.5.0:
+  * Require Python 3.7 or later.
+  * #551: Fixed docs warnings.
+  * #549: EnvironCredential now allows for equality
+    comparison.
+  * #529: macOS backend is no longer viable if the API module
+    cannot be loaded. Prevents "symbol not found" errors on
+    macOS 11 (Big Sur) and later when a "universal2" binary
+    is not used (available for Python 3.8.7 and later).
+  * #547: Tests no longer attempt to run macOS backends even
+    on macOS when the backend is non-viable.
+  * #542: Change get_credential to return generic Credential.
+
+-------------------------------------------------------------------

Old:
----
  keyring-23.2.1.tar.gz

New:
----
  keyring-23.5.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-keyring.spec ++++++
--- /var/tmp/diff_new_pack.21aTrv/_old  2022-01-11 21:20:34.801014129 +0100
+++ /var/tmp/diff_new_pack.21aTrv/_new  2022-01-11 21:20:34.805014132 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-keyring
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-keyring
-Version:        23.2.1
+Version:        23.5.0
 Release:        0
 Summary:        System keyring service access from Python
 License:        MIT AND Python-2.0

++++++ keyring-23.2.1.tar.gz -> keyring-23.5.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/.github/workflows/main.yml 
new/keyring-23.5.0/.github/workflows/main.yml
--- old/keyring-23.2.1/.github/workflows/main.yml       2021-09-12 
19:16:05.000000000 +0200
+++ new/keyring-23.5.0/.github/workflows/main.yml       2022-01-02 
01:29:18.000000000 +0100
@@ -7,10 +7,13 @@
     strategy:
       matrix:
         python:
-        - 3.6
+        - 3.7
         - 3.9
-        - 3.10.0-alpha - 3.10.99
-        platform: [ubuntu-latest, macos-latest, windows-latest]
+        - "3.10"
+        platform:
+        - ubuntu-latest
+        - macos-latest
+        - windows-latest
     runs-on: ${{ matrix.platform }}
     steps:
       - uses: actions/checkout@v2
@@ -34,7 +37,7 @@
       - name: Setup Python
         uses: actions/setup-python@v2
         with:
-          python-version: 3.9
+          python-version: "3.10"
       - name: Install tox
         run: |
           python -m pip install tox
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/CHANGES.rst 
new/keyring-23.5.0/CHANGES.rst
--- old/keyring-23.2.1/CHANGES.rst      2021-09-12 19:16:05.000000000 +0200
+++ new/keyring-23.5.0/CHANGES.rst      2022-01-02 01:29:18.000000000 +0100
@@ -1,3 +1,32 @@
+v23.5.0
+-------
+
+* Require Python 3.7 or later.
+
+v23.4.1
+-------
+
+* #551: Fixed docs warnings.
+
+v23.4.0
+-------
+
+* #549: EnvironCredential now allows for equality
+  comparison.
+
+v23.3.0
+-------
+
+* #529: macOS backend is no longer viable if the API module
+  cannot be loaded. Prevents "symbol not found" errors on
+  macOS 11 (Big Sur) and later when a "universal2" binary
+  is not used (available for Python 3.8.7 and later).
+
+* #547: Tests no longer attempt to run macOS backends even
+  on macOS when the backend is non-viable.
+
+* #542: Change get_credential to return generic Credential.
+
 v23.2.1
 -------
 
@@ -85,7 +114,7 @@
 * #403: Keyring no longer eagerly initializes the backend
   on import, but instead defers the backend initialization
   until a keyring is accessed. Any callers reliant on this
-  early intialization behavior may need to call
+  early initialization behavior may need to call
   ``keyring.core.init_backend()`` to explicitly initialize
   the detected backend.
 
@@ -450,7 +479,7 @@
 10.3.1
 ------
 
-* #266: Use private compatibity model rather than six to
+* #266: Use private compatibility model rather than six to
   avoid the dependency.
 
 10.3
@@ -476,7 +505,7 @@
   for identifying each backend to users.
 
 10.0.2
------
+------
 
 * #247: Restored console script.
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/PKG-INFO new/keyring-23.5.0/PKG-INFO
--- old/keyring-23.2.1/PKG-INFO 2021-09-12 19:16:25.911502800 +0200
+++ new/keyring-23.5.0/PKG-INFO 2022-01-02 01:29:41.817848400 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: keyring
-Version: 23.2.1
+Version: 23.5.0
 Summary: Store and access your passwords safely.
 Home-page: https://github.com/jaraco/keyring
 Author: Kang Zhang
@@ -15,7 +15,7 @@
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Provides-Extra: testing
 Provides-Extra: docs
 License-File: LICENSE
@@ -76,6 +76,13 @@
 
 .. _dbus-python: https://gitlab.freedesktop.org/dbus/dbus-python
 
+Compatibility - macOS
+=====================
+
+macOS keychain support macOS 11 (Big Sur) and later requires Python 3.8.7
+or later with the "universal2" binary. See
+`#525 <https://github.com/jaraco/keyring/issues/525>`_ for details.
+
 Using Keyring
 =============
 
@@ -229,7 +236,7 @@
         def get_password(self, servicename, username):
             return "password from TestKeyring"
 
-        def delete_password(self, servicename, username, password):
+        def delete_password(self, servicename, username):
             pass
 
     # set the keyring for keyring lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/README.rst 
new/keyring-23.5.0/README.rst
--- old/keyring-23.2.1/README.rst       2021-09-12 19:16:05.000000000 +0200
+++ new/keyring-23.5.0/README.rst       2022-01-02 01:29:18.000000000 +0100
@@ -54,6 +54,13 @@
 
 .. _dbus-python: https://gitlab.freedesktop.org/dbus/dbus-python
 
+Compatibility - macOS
+=====================
+
+macOS keychain support macOS 11 (Big Sur) and later requires Python 3.8.7
+or later with the "universal2" binary. See
+`#525 <https://github.com/jaraco/keyring/issues/525>`_ for details.
+
 Using Keyring
 =============
 
@@ -207,7 +214,7 @@
         def get_password(self, servicename, username):
             return "password from TestKeyring"
 
-        def delete_password(self, servicename, username, password):
+        def delete_password(self, servicename, username):
             pass
 
     # set the keyring for keyring lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/conftest.py 
new/keyring-23.5.0/conftest.py
--- old/keyring-23.2.1/conftest.py      2021-09-12 19:16:05.000000000 +0200
+++ new/keyring-23.5.0/conftest.py      2022-01-02 01:29:18.000000000 +0100
@@ -1,8 +1,23 @@
-import platform
+import ctypes
 
 collect_ignore = ["hook-keyring.backend.py"]
 
-if platform.system() != 'Darwin':
-    collect_ignore.append('keyring/backends/macOS/api.py')
+
+def macos_api_ignore():
+    """
+    Starting with macOS 11, the security API becomes
+    non-viable except on universal2 binaries.
+
+    Ref #525.
+    """
+
+    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())
 
 collect_ignore.append('keyring/devpi_client.py')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/docs/_templates/tidelift-sidebar.html 
new/keyring-23.5.0/docs/_templates/tidelift-sidebar.html
--- old/keyring-23.2.1/docs/_templates/tidelift-sidebar.html    2021-09-12 
19:16:05.000000000 +0200
+++ new/keyring-23.5.0/docs/_templates/tidelift-sidebar.html    1970-01-01 
01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-<h3 class="donation">For Enterprise</h3>
-
-<p>
-Professionally-supported {{ project }} is available with the
-<a href="https://tidelift.com/subscription/pkg/pypi-{{ project 
}}?utm_source=pypi-{{ project }}&utm_medium=referral">Tidelift Subscription</a>.
-</p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/docs/conf.py 
new/keyring-23.5.0/docs/conf.py
--- old/keyring-23.2.1/docs/conf.py     2021-09-12 19:16:05.000000000 +0200
+++ new/keyring-23.5.0/docs/conf.py     2022-01-02 01:29:18.000000000 +0100
@@ -29,7 +29,11 @@
 # Be strict about any broken references:
 nitpicky = True
 
-# Custom sidebar templates, maps document names to template names.
-html_theme = 'alabaster'
-templates_path = ['_templates']
-html_sidebars = {'index': ['tidelift-sidebar.html']}
+# Include Python intersphinx mapping to prevent failures
+# jaraco/skeleton#51
+extensions += ['sphinx.ext.intersphinx']
+intersphinx_mapping = {
+    'python': ('https://docs.python.org/3', None),
+}
+
+extensions += ['jaraco.tidelift']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/docs/index.rst 
new/keyring-23.5.0/docs/index.rst
--- old/keyring-23.2.1/docs/index.rst   2021-09-12 19:16:05.000000000 +0200
+++ new/keyring-23.5.0/docs/index.rst   2022-01-02 01:29:18.000000000 +0100
@@ -8,11 +8,27 @@
 
    history
 
+.. tidelift-referral-banner::
 
 .. automodule:: keyring
     :members:
     :undoc-members:
     :show-inheritance:
+
+.. automodule:: keyring.backend
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+.. automodule:: keyring.core
+    :members:
+    :undoc-members:
+    :show-inheritance:
+
+.. automodule:: keyring.credentials
+    :members:
+    :undoc-members:
+    :show-inheritance:
 
 
 Indices and tables
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring/backend.py 
new/keyring-23.5.0/keyring/backend.py
--- old/keyring-23.2.1/keyring/backend.py       2021-09-12 19:16:05.000000000 
+0200
+++ new/keyring-23.5.0/keyring/backend.py       2022-01-02 01:29:18.000000000 
+0100
@@ -125,7 +125,7 @@
         self,
         service: str,
         username: Optional[str],
-    ) -> Optional[credentials.SimpleCredential]:
+    ) -> Optional[credentials.Credential]:
         """Gets the username and password for the service.
         Returns a Credential instance.
 
@@ -182,13 +182,11 @@
     Locate all setuptools entry points by the name 'keyring backends'
     and initialize them.
     Any third-party library may register an entry point by adding the
-    following to their setup.py::
+    following to their setup.cfg::
 
-        entry_points = {
-            'keyring.backends': [
-                'plugin_name = mylib.mymodule:initialize_func',
-            ],
-        },
+        [options.entry_points]
+        keyring.backends =
+            plugin_name = mylib.mymodule:initialize_func
 
     `plugin_name` can be anything, and is only used to display the name
     of the plugin at initialization time.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring/backends/Windows.py 
new/keyring-23.5.0/keyring/backends/Windows.py
--- old/keyring-23.2.1/keyring/backends/Windows.py      2021-09-12 
19:16:05.000000000 +0200
+++ new/keyring-23.5.0/keyring/backends/Windows.py      2022-01-02 
01:29:18.000000000 +0100
@@ -1,4 +1,3 @@
-import functools
 import logging
 
 from ..util import properties
@@ -111,7 +110,6 @@
                 Type=win32cred.CRED_TYPE_GENERIC, TargetName=target
             )
         except pywintypes.error as e:
-            e = OldPywinError.wrap(e)
             if e.winerror == 1168 and e.funcname == 'CredRead':  # not found
                 return None
             raise
@@ -156,7 +154,6 @@
         try:
             win32cred.CredDelete(Type=win32cred.CRED_TYPE_GENERIC, 
TargetName=target)
         except pywintypes.error as e:
-            e = OldPywinError.wrap(e)
             if e.winerror == 1168 and e.funcname == 'CredDelete':  # not found
                 return
             raise
@@ -172,27 +169,3 @@
             if not res:
                 return None
         return SimpleCredential(res['UserName'], res.value)
-
-
-class OldPywinError:
-    """
-    A compatibility wrapper for old PyWin32 errors, such as reported in
-    https://bitbucket.org/kang/python-keyring-lib/issue/140/
-    """
-
-    def __init__(self, orig):
-        self.orig = orig
-
-    @property
-    def funcname(self):
-        return self.orig[1]
-
-    @property
-    def winerror(self):
-        return self.orig[0]
-
-    @classmethod
-    def wrap(cls, orig_err):
-        attr_check = functools.partial(hasattr, orig_err)
-        is_old = not all(map(attr_check, ['funcname', 'winerror']))
-        return cls(orig_err) if is_old else orig_err
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring/backends/macOS/__init__.py 
new/keyring-23.5.0/keyring/backends/macOS/__init__.py
--- old/keyring-23.2.1/keyring/backends/macOS/__init__.py       2021-09-12 
19:16:05.000000000 +0200
+++ new/keyring-23.5.0/keyring/backends/macOS/__init__.py       2022-01-02 
01:29:18.000000000 +0100
@@ -28,6 +28,8 @@
         """
         if platform.system() != 'Darwin':
             raise RuntimeError("macOS required")
+        if 'api' not in globals():
+            raise RuntimeError("Security API unavailable")
         return 5
 
     def set_password(self, service, username, password):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring/credentials.py 
new/keyring-23.5.0/keyring/credentials.py
--- old/keyring-23.2.1/keyring/credentials.py   2021-09-12 19:16:05.000000000 
+0200
+++ new/keyring-23.5.0/keyring/credentials.py   2022-01-02 01:29:18.000000000 
+0100
@@ -31,14 +31,29 @@
 
 
 class EnvironCredential(Credential):
-    """Source credentials from environment variables.
+    """
+    Source credentials from environment variables.
+
     Actual sourcing is deferred until requested.
+
+    Supports comparison by equality.
+
+    >>> e1 = EnvironCredential('a', 'b')
+    >>> e2 = EnvironCredential('a', 'b')
+    >>> e3 = EnvironCredential('a', 'c')
+    >>> e1 == e2
+    True
+    >>> e2 == e3
+    False
     """
 
     def __init__(self, user_env_var, pwd_env_var):
         self.user_env_var = user_env_var
         self.pwd_env_var = pwd_env_var
 
+    def __eq__(self, other: object) -> bool:
+        return vars(self) == vars(other)
+
     def _get_env(self, env_var):
         """Helper to read an environment variable"""
         value = os.environ.get(env_var)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring/util/platform_.py 
new/keyring-23.5.0/keyring/util/platform_.py
--- old/keyring-23.2.1/keyring/util/platform_.py        2021-09-12 
19:16:05.000000000 +0200
+++ new/keyring-23.5.0/keyring/util/platform_.py        2022-01-02 
01:29:18.000000000 +0100
@@ -19,7 +19,7 @@
 
 def _data_root_Linux():
     """
-    Use freedesktop.org Base Dir Specfication to determine storage
+    Use freedesktop.org Base Dir Specification to determine storage
     location.
     """
     fallback = pathlib.Path.home() / '.local/share'
@@ -53,7 +53,7 @@
 
 def _config_root_Linux():
     """
-    Use freedesktop.org Base Dir Specfication to determine config
+    Use freedesktop.org Base Dir Specification to determine config
     location.
     """
     _check_old_config_root()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring.egg-info/PKG-INFO 
new/keyring-23.5.0/keyring.egg-info/PKG-INFO
--- old/keyring-23.2.1/keyring.egg-info/PKG-INFO        2021-09-12 
19:16:25.000000000 +0200
+++ new/keyring-23.5.0/keyring.egg-info/PKG-INFO        2022-01-02 
01:29:41.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: keyring
-Version: 23.2.1
+Version: 23.5.0
 Summary: Store and access your passwords safely.
 Home-page: https://github.com/jaraco/keyring
 Author: Kang Zhang
@@ -15,7 +15,7 @@
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3 :: Only
-Requires-Python: >=3.6
+Requires-Python: >=3.7
 Provides-Extra: testing
 Provides-Extra: docs
 License-File: LICENSE
@@ -76,6 +76,13 @@
 
 .. _dbus-python: https://gitlab.freedesktop.org/dbus/dbus-python
 
+Compatibility - macOS
+=====================
+
+macOS keychain support macOS 11 (Big Sur) and later requires Python 3.8.7
+or later with the "universal2" binary. See
+`#525 <https://github.com/jaraco/keyring/issues/525>`_ for details.
+
 Using Keyring
 =============
 
@@ -229,7 +236,7 @@
         def get_password(self, servicename, username):
             return "password from TestKeyring"
 
-        def delete_password(self, servicename, username, password):
+        def delete_password(self, servicename, username):
             pass
 
     # set the keyring for keyring lib
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring.egg-info/SOURCES.txt 
new/keyring-23.5.0/keyring.egg-info/SOURCES.txt
--- old/keyring-23.2.1/keyring.egg-info/SOURCES.txt     2021-09-12 
19:16:25.000000000 +0200
+++ new/keyring-23.5.0/keyring.egg-info/SOURCES.txt     2022-01-02 
01:29:41.000000000 +0100
@@ -25,7 +25,6 @@
 docs/history.rst
 docs/index.rst
 docs/troubleshooting config.md
-docs/_templates/tidelift-sidebar.html
 keyring/__init__.py
 keyring/__main__.py
 keyring/backend.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/keyring.egg-info/requires.txt 
new/keyring-23.5.0/keyring.egg-info/requires.txt
--- old/keyring-23.2.1/keyring.egg-info/requires.txt    2021-09-12 
19:16:25.000000000 +0200
+++ new/keyring-23.5.0/keyring.egg-info/requires.txt    2022-01-02 
01:29:41.000000000 +0100
@@ -11,9 +11,10 @@
 sphinx
 jaraco.packaging>=8.2
 rst.linker>=1.9
+jaraco.tidelift>=1.4
 
 [testing]
-pytest>=4.6
+pytest>=6
 pytest-checkdocs>=2.4
 pytest-flake8
 pytest-cov
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/pyproject.toml 
new/keyring-23.5.0/pyproject.toml
--- old/keyring-23.2.1/pyproject.toml   2021-09-12 19:16:05.000000000 +0200
+++ new/keyring-23.5.0/pyproject.toml   2022-01-02 01:29:18.000000000 +0100
@@ -1,5 +1,5 @@
 [build-system]
-requires = ["setuptools>=56", "wheel", "setuptools_scm[toml]>=3.4.1"]
+requires = ["setuptools>=56", "setuptools_scm[toml]>=3.4.1"]
 build-backend = "setuptools.build_meta"
 
 [tool.black]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/pytest.ini 
new/keyring-23.5.0/pytest.ini
--- old/keyring-23.2.1/pytest.ini       2021-09-12 19:16:05.000000000 +0200
+++ new/keyring-23.5.0/pytest.ini       2022-01-02 01:29:18.000000000 +0100
@@ -2,11 +2,8 @@
 norecursedirs=dist build .tox .eggs
 addopts=--doctest-modules
 doctest_optionflags=ALLOW_UNICODE ELLIPSIS
-# workaround for warning pytest-dev/pytest#6178
-junit_family=xunit2
 filterwarnings=
        # Suppress deprecation warning in flake8
        ignore:SelectableGroups dict interface is deprecated::flake8
-       # Suppress deprecation warning in pypa/packaging#433
-       ignore:The distutils package is deprecated::packaging.tags
+
        ignore:OS_X module is deprecated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/setup.cfg new/keyring-23.5.0/setup.cfg
--- old/keyring-23.2.1/setup.cfg        2021-09-12 19:16:25.911502800 +0200
+++ new/keyring-23.5.0/setup.cfg        2022-01-02 01:29:41.817848400 +0100
@@ -18,7 +18,7 @@
 [options]
 packages = find_namespace:
 include_package_data = true
-python_requires = >=3.6
+python_requires = >=3.7
 install_requires = 
        pywin32-ctypes!=0.1.0,!=0.1.1; sys_platform=="win32"
        SecretStorage>=3.2; sys_platform=="linux"
@@ -34,7 +34,7 @@
 
 [options.extras_require]
 testing = 
-       pytest >= 4.6
+       pytest >= 6
        pytest-checkdocs >= 2.4
        pytest-flake8
        pytest-black >= 0.3.7; \
@@ -47,6 +47,7 @@
        sphinx
        jaraco.packaging >= 8.2
        rst.linker >= 1.9
+       jaraco.tidelift >= 1.4
 
 [options.entry_points]
 console_scripts = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/tests/backends/test_kwallet.py 
new/keyring-23.5.0/tests/backends/test_kwallet.py
--- old/keyring-23.2.1/tests/backends/test_kwallet.py   2021-09-12 
19:16:05.000000000 +0200
+++ new/keyring-23.5.0/tests/backends/test_kwallet.py   2022-01-02 
01:29:18.000000000 +0100
@@ -40,16 +40,14 @@
         keyring = self.keyring
 
         # for the non-existent password
-        self.assertEqual(keyring.get_password(service, username), None)
+        assert keyring.get_password(service, username) is None
 
         # common usage
         self.set_password(service, username, password, True)
         # re-init keyring to force migration
         self.keyring = keyring = self.init_keyring()
         ret_password = keyring.get_password(service, username)
-        self.assertEqual(
-            ret_password,
-            password,
+        assert ret_password == password, (
             "Incorrect password for username: '%s' "
             "on service: '%s'. '%s' != '%s'"
             % (service, username, ret_password, password),
@@ -60,16 +58,12 @@
         # re-init keyring to force migration
         self.keyring = keyring = self.init_keyring()
         ret_password = keyring.get_password(service, username)
-        self.assertEqual(
-            ret_password,
-            "",
+        assert ret_password == "", (
             "Incorrect password for username: '%s' "
             "on service: '%s'. '%s' != '%s'" % (service, username, 
ret_password, ""),
         )
         ret_password = keyring.get_password('Python', username + '@' + service)
-        self.assertEqual(
-            ret_password,
-            None,
+        assert ret_password is None, (
             "Not 'None' password returned for username: '%s' "
             "on service: '%s'. '%s' != '%s'. Passwords from old "
             "folder should be deleted during migration."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/keyring-23.2.1/tests/backends/test_macOS.py 
new/keyring-23.5.0/tests/backends/test_macOS.py
--- old/keyring-23.2.1/tests/backends/test_macOS.py     2021-09-12 
19:16:05.000000000 +0200
+++ new/keyring-23.5.0/tests/backends/test_macOS.py     2022-01-02 
01:29:18.000000000 +0100
@@ -1,16 +1,14 @@
-import sys
-
 import pytest
 
+import keyring
 from keyring.testing.backend import BackendBasicTests
 from keyring.backends import macOS
 
 
-def is_osx_keychain_supported():
-    return sys.platform in ('mac', 'darwin')
-
-
-@pytest.mark.skipif(not is_osx_keychain_supported(), reason="Needs macOS")
-class TestOSXKeychain(BackendBasicTests):
+@pytest.mark.skipif(
+    not keyring.backends.macOS.Keyring.viable,
+    reason="macOS backend not viable",
+)
+class Test_macOSKeychain(BackendBasicTests):
     def init_keyring(self):
         return macOS.Keyring()

Reply via email to