Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-compat-patcher-core for 
openSUSE:Factory checked in at 2022-09-27 20:14:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-compat-patcher-core (Old)
 and      /work/SRC/openSUSE:Factory/.python-compat-patcher-core.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-compat-patcher-core"

Tue Sep 27 20:14:04 2022 rev:5 rq:1006327 version:2.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-compat-patcher-core/python-compat-patcher-core.changes
    2021-12-14 22:02:42.071165201 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-compat-patcher-core.new.2275/python-compat-patcher-core.changes
  2022-09-27 20:14:06.677850916 +0200
@@ -1,0 +2,12 @@
+Mon Sep 26 23:20:56 UTC 2022 - Yogalakshmi Arunachalam <yarunacha...@suse.com>
+
+- Update to Version 2.1
+  * Debug CI
+  * Fix Trove classifiers of package
+
+- Update to Version 2.0
+  * Fix encoding and error reporting bugs
+  * Extend test coverage to Python3.10
+  * Drop support for Python2.7 and Python3.5 
+
+-------------------------------------------------------------------

Old:
----
  compat-patcher-core-1.2.tar.gz

New:
----
  compat-patcher-core-2.1.tar.gz

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

Other differences:
------------------
++++++ python-compat-patcher-core.spec ++++++
--- /var/tmp/diff_new_pack.xAQktN/_old  2022-09-27 20:14:07.201852071 +0200
+++ /var/tmp/diff_new_pack.xAQktN/_new  2022-09-27 20:14:07.205852080 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-compat-patcher-core
 #
-# 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
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-compat-patcher-core
-Version:        1.2
+Version:        2.1
 Release:        0
 Summary:        Python patcher system
 License:        MIT

++++++ compat-patcher-core-1.2.tar.gz -> compat-patcher-core-2.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/CHANGELOG 
new/compat-patcher-core-2.1/CHANGELOG
--- old/compat-patcher-core-1.2/CHANGELOG       2021-01-19 21:07:01.000000000 
+0100
+++ new/compat-patcher-core-2.1/CHANGELOG       2022-06-15 22:34:26.000000000 
+0200
@@ -1,4 +1,19 @@
 
+Version 2.1
+============
+
+* Debug CI
+* Fix Trove classifiers of package
+
+
+Version 2.0
+============
+
+* Fix encoding and error reporting bugs
+* Extend test coverage to Python3.10
+* Drop support for Python2.7 and Python3.5
+
+
 Version 1.2
 ============
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/PKG-INFO 
new/compat-patcher-core-2.1/PKG-INFO
--- old/compat-patcher-core-1.2/PKG-INFO        2021-01-19 22:12:10.791734200 
+0100
+++ new/compat-patcher-core-2.1/PKG-INFO        2022-06-15 22:40:55.360431200 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: compat-patcher-core
-Version: 1.2
+Version: 2.1
 Summary: A patcher system to allow easy and lasting API compatibility.
 Home-page: https://github.com/pakal/compat-patcher-core
 Author: Pascal Chambon & others
@@ -18,7 +18,7 @@
         (plugins, bridges to other applications...), while still keeping the 
main codebase clean, and getting new features at
         a good pace.
         
-        Compatibility Patchers inject backward/forward compatibility shims 
(like class/function/attribute aliases, restore
+        Compatibility Patchers inject backward/forward compatibility shims 
(like class/function/attribute aliases), restore
         features which were dropped/externalized because "not used enough" or 
"outside the scope of the library", and tweak
         the signatures and behaviour of callables (eg. for arguments which 
disappeared, or which became mandatory). It can
         even setup lazy "import aliases", so that code can import a moved 
module both from its old and new location.
@@ -40,7 +40,7 @@
         
         Compat Patcher Core holds the core logice of that system, via easily 
extendable classes: a registry system,
         monkey-patching utilities, and a generic runner to be called at the 
very start of your application. It also contains
-        a cookiecutter recipe to setup your own Compatibility Patcher in a few 
minutes, with test scaffolding and packaging
+        a **cookiecutter recipe** to setup your own Compatibility Patcher in a 
few minutes, with test scaffolding and packaging
         metadata ready for launch.
         
         Documentation is available on `Read The Docs 
<https://compat-patcher-core.readthedocs.io/en/latest/index.html>`_
@@ -57,13 +57,11 @@
 Classifier: Intended Audience :: Information Technology
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Natural Language :: English
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: Unix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/README.rst 
new/compat-patcher-core-2.1/README.rst
--- old/compat-patcher-core-1.2/README.rst      2019-06-22 20:28:11.000000000 
+0200
+++ new/compat-patcher-core-2.1/README.rst      2022-06-15 15:19:47.000000000 
+0200
@@ -10,7 +10,7 @@
 (plugins, bridges to other applications...), while still keeping the main 
codebase clean, and getting new features at
 a good pace.
 
-Compatibility Patchers inject backward/forward compatibility shims (like 
class/function/attribute aliases, restore
+Compatibility Patchers inject backward/forward compatibility shims (like 
class/function/attribute aliases), restore
 features which were dropped/externalized because "not used enough" or "outside 
the scope of the library", and tweak
 the signatures and behaviour of callables (eg. for arguments which 
disappeared, or which became mandatory). It can
 even setup lazy "import aliases", so that code can import a moved module both 
from its old and new location.
@@ -32,7 +32,7 @@
 
 Compat Patcher Core holds the core logice of that system, via easily 
extendable classes: a registry system,
 monkey-patching utilities, and a generic runner to be called at the very start 
of your application. It also contains
-a cookiecutter recipe to setup your own Compatibility Patcher in a few 
minutes, with test scaffolding and packaging
+a **cookiecutter recipe** to setup your own Compatibility Patcher in a few 
minutes, with test scaffolding and packaging
 metadata ready for launch.
 
 Documentation is available on `Read The Docs 
<https://compat-patcher-core.readthedocs.io/en/latest/index.html>`_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/VERSION 
new/compat-patcher-core-2.1/VERSION
--- old/compat-patcher-core-1.2/VERSION 2021-01-19 21:05:23.000000000 +0100
+++ new/compat-patcher-core-2.1/VERSION 2022-06-15 22:32:09.000000000 +0200
@@ -1 +1 @@
-1.2
+2.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/pytest.ini 
new/compat-patcher-core-2.1/pytest.ini
--- old/compat-patcher-core-1.2/pytest.ini      2019-06-21 23:01:17.000000000 
+0200
+++ new/compat-patcher-core-2.1/pytest.ini      2022-06-15 16:27:42.000000000 
+0200
@@ -13,5 +13,7 @@
   -vl
   --strict
   --tb=auto
-  --cov=compat_patcher_core
-  --cov-report=html
+  # ENABLE WHEN WANTED:
+  # --cov-report=html
+  # --cov=compat_patcher_core
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/requirements.txt 
new/compat-patcher-core-2.1/requirements.txt
--- old/compat-patcher-core-1.2/requirements.txt        2021-01-09 
18:42:55.000000000 +0100
+++ new/compat-patcher-core-2.1/requirements.txt        2022-06-15 
16:21:45.000000000 +0200
@@ -1,20 +1,24 @@
 # Beware, keep in sync with setup.py dependencies
 
-six==1.15.0
+six==1.16.0
 
-pytest>=4.6.11,<7
-pytest-cov==2.10.1
-docutils==0.16
+pytest==7.1.2
+pytest-cov==3.0.0
 
-sphinx>=1.8.5
-sphinx_rtd_theme==0.5.1
+docutils==0.17.1
 
-pylint>=1.9.5<3
-pylint-quotes>=0.1.8
+sphinx==2.0.1
+sphinx_rtd_theme==1.0.0
 
-tox==3.20.1
-check-manifest>=0.40
+pylint==2.14.2
+pylint-quotes==0.2.1
 
+tox==3.25.0
+
+check-manifest==0.48
+
+# FIXME upgrade/repair this, it breaks for now if bigger version
+# https://github.com/hackebrot/pytest-cookies/issues/62
 cookiecutter==1.7.2
-pytest_cookies==0.5.1
+pytest_cookies==0.6.1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/setup.py 
new/compat-patcher-core-2.1/setup.py
--- old/compat-patcher-core-1.2/setup.py        2021-01-09 18:42:55.000000000 
+0100
+++ new/compat-patcher-core-2.1/setup.py        2022-06-15 17:46:35.000000000 
+0200
@@ -21,13 +21,11 @@
 Intended Audience :: Information Technology
 License :: OSI Approved :: MIT License
 Natural Language :: English
-Programming Language :: Python :: 2
-Programming Language :: Python :: 2.7
-Programming Language :: Python :: 3
-Programming Language :: Python :: 3.4
-Programming Language :: Python :: 3.5
 Programming Language :: Python :: 3.6
 Programming Language :: Python :: 3.7
+Programming Language :: Python :: 3.8
+Programming Language :: Python :: 3.9
+Programming Language :: Python :: 3.10
 Topic :: Software Development :: Libraries :: Python Modules
 Operating System :: Microsoft :: Windows
 Operating System :: Unix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compat-patcher-core-1.2/src/compat_patcher_core/runner.py 
new/compat-patcher-core-2.1/src/compat_patcher_core/runner.py
--- old/compat-patcher-core-1.2/src/compat_patcher_core/runner.py       
2021-01-09 18:42:54.000000000 +0100
+++ new/compat-patcher-core-2.1/src/compat_patcher_core/runner.py       
2022-06-14 00:10:16.000000000 +0200
@@ -110,6 +110,9 @@
         Return a dict with, at least field "fixers_just_applied", the list of 
fixers that
         were successfully applied during this call.
         """
+
         relevant_fixers = self._get_sorted_relevant_fixers()
+
         fixers_just_applied = self._apply_selected_fixers(relevant_fixers)
+
         return dict(fixers_just_applied=fixers_just_applied)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compat-patcher-core-1.2/src/compat_patcher_core/scaffolding.py 
new/compat-patcher-core-2.1/src/compat_patcher_core/scaffolding.py
--- old/compat-patcher-core-1.2/src/compat_patcher_core/scaffolding.py  
2021-01-09 18:42:54.000000000 +0100
+++ new/compat-patcher-core-2.1/src/compat_patcher_core/scaffolding.py  
2022-06-15 13:59:37.000000000 +0200
@@ -17,8 +17,8 @@
         for f in [x for x in files if x.endswith(".py")]:
             full_path = os.path.join(root, f)
             # print(">> ANALYSING PYTHON FILE", full_path)
-            with open(full_path, "r") as s:
-                data = s.read()
+            with open(full_path, "rb") as stream:
+                data = stream.read().decode("utf8", "ignore")
             for forbidden_phrase in forbidden_phrases:
                 if re.search(forbidden_phrase, data, re.MULTILINE):
                     if (f == "utilities.py") and (
@@ -49,17 +49,22 @@
     import copy
     from _pytest.python import Function
 
+    def generate_missing_fixer_test(_error_message):
+        # We use this closure system, else "error_message" free variable would 
be wrong in the for loop
+        def missing_fixer_test():
+            raise RuntimeError(_error_message)
+        return missing_fixer_test
+
     all_fixers = patching_registry.get_all_fixers()
     all_tests_names = [test.name for test in items]
     for fixer in all_fixers:
         expected_test_name = "test_{}".format(fixer["fixer_callable"].__name__)
         if expected_test_name not in all_tests_names:
+
             error_message = "No test written for {} fixer '{}'".format(
                 fixer["fixer_family"].title(), fixer["fixer_callable"].__name__
             )
-
-            def missing_fixer_test():
-                raise RuntimeError(error_message)
+            missing_fixer_test = generate_missing_fixer_test(error_message)
 
             if _fail_fast:  # For testing only
                 missing_fixer_test()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compat-patcher-core-1.2/src/compat_patcher_core/utilities.py 
new/compat-patcher-core-2.1/src/compat_patcher_core/utilities.py
--- old/compat-patcher-core-1.2/src/compat_patcher_core/utilities.py    
2021-01-09 18:42:54.000000000 +0100
+++ new/compat-patcher-core-2.1/src/compat_patcher_core/utilities.py    
2022-06-15 13:45:15.000000000 +0200
@@ -227,12 +227,16 @@
 
         When injecting a submodule, its parent module(s) must exist too.
 
+        It is good practice to, then, also inject this module object as an 
attribute
+        of its immediate parents (with inject_attribute()), since this is 
normally done 
+        during python imports.
+
         :param target_module_name: The dotted name of the new module in 
sys.modules
         :param module: The module object to inject
         """
         target_module_name = str(target_module_name)  # Python2 compatibility
         assert isinstance(module, types.ModuleType), module
-        assert sys.modules.get(target_module_name) is None
+        assert sys.modules.get(target_module_name) is None, target_module_name
 
         self._patch_injected_object(module)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compat-patcher-core-1.2/src/compat_patcher_core.egg-info/PKG-INFO 
new/compat-patcher-core-2.1/src/compat_patcher_core.egg-info/PKG-INFO
--- old/compat-patcher-core-1.2/src/compat_patcher_core.egg-info/PKG-INFO       
2021-01-19 22:12:10.000000000 +0100
+++ new/compat-patcher-core-2.1/src/compat_patcher_core.egg-info/PKG-INFO       
2022-06-15 22:40:55.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: compat-patcher-core
-Version: 1.2
+Version: 2.1
 Summary: A patcher system to allow easy and lasting API compatibility.
 Home-page: https://github.com/pakal/compat-patcher-core
 Author: Pascal Chambon & others
@@ -18,7 +18,7 @@
         (plugins, bridges to other applications...), while still keeping the 
main codebase clean, and getting new features at
         a good pace.
         
-        Compatibility Patchers inject backward/forward compatibility shims 
(like class/function/attribute aliases, restore
+        Compatibility Patchers inject backward/forward compatibility shims 
(like class/function/attribute aliases), restore
         features which were dropped/externalized because "not used enough" or 
"outside the scope of the library", and tweak
         the signatures and behaviour of callables (eg. for arguments which 
disappeared, or which became mandatory). It can
         even setup lazy "import aliases", so that code can import a moved 
module both from its old and new location.
@@ -40,7 +40,7 @@
         
         Compat Patcher Core holds the core logice of that system, via easily 
extendable classes: a registry system,
         monkey-patching utilities, and a generic runner to be called at the 
very start of your application. It also contains
-        a cookiecutter recipe to setup your own Compatibility Patcher in a few 
minutes, with test scaffolding and packaging
+        a **cookiecutter recipe** to setup your own Compatibility Patcher in a 
few minutes, with test scaffolding and packaging
         metadata ready for launch.
         
         Documentation is available on `Read The Docs 
<https://compat-patcher-core.readthedocs.io/en/latest/index.html>`_
@@ -57,13 +57,11 @@
 Classifier: Intended Audience :: Information Technology
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Natural Language :: English
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
-Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.4
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
+Classifier: Programming Language :: Python :: 3.10
 Classifier: Topic :: Software Development :: Libraries :: Python Modules
 Classifier: Operating System :: Microsoft :: Windows
 Classifier: Operating System :: Unix
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compat-patcher-core-1.2/tests/test_cookiecutter_recipe.py 
new/compat-patcher-core-2.1/tests/test_cookiecutter_recipe.py
--- old/compat-patcher-core-1.2/tests/test_cookiecutter_recipe.py       
2019-06-22 18:59:44.000000000 +0200
+++ new/compat-patcher-core-2.1/tests/test_cookiecutter_recipe.py       
2022-06-15 15:31:19.000000000 +0200
@@ -7,6 +7,8 @@
 
 from cookiecutter.utils import rmtree
 
+import compat_patcher_core
+
 SOURCE_ROOT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 
 @contextmanager
@@ -38,7 +40,7 @@
         rmtree(str(result.project))
 
 
-def run_inside_dir(command, dirpath):
+def run_inside_dir(command, dirpath, **popen_kwargs):
     """
     Run a command from inside a given directory, returning the exit status
 
@@ -46,7 +48,7 @@
     :param dirpath: String, path of the directory the command is being run.
     """
     with inside_dir(dirpath):
-        return subprocess.check_call(shlex.split(command))
+        return subprocess.check_call(shlex.split(command), **popen_kwargs)
 
 
 def check_output_inside_dir(command, dirpath):
@@ -90,5 +92,8 @@
 def test_using_pytest(cookies):
     with bake_in_temp_dir(cookies) as result:
         assert result.project.isdir()
-        # Test the new pytest target
-        run_inside_dir('pytest', str(result.project)) == 0
+        # Test the new pytest target - we must help pytest find current 
compat_patcher_core though
+        popen_kwargs = dict(
+            env=dict(os.environ,
+                     
PYTHONPATH=os.path.dirname(os.path.dirname(compat_patcher_core.__file__))))
+        run_inside_dir('pytest', str(result.project), **popen_kwargs) == 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/compat-patcher-core-1.2/tox.ini 
new/compat-patcher-core-2.1/tox.ini
--- old/compat-patcher-core-1.2/tox.ini 2021-01-19 21:48:23.000000000 +0100
+++ new/compat-patcher-core-2.1/tox.ini 2022-06-15 18:19:13.000000000 +0200
@@ -1,13 +1,19 @@
 [tox]
-envlist = {py27,py35,py36,py37,py38,py39}
+envlist = {py36,py37,py38,py39,py310}
 skip_missing_interpreters=True
 toxworkdir={env:TOX_WORK_DIR:.tox}
 
 [testenv]
 changedir=tests
 deps=
-    -r requirements.txt
+    pytest
+    docutils
+    cookiecutter==1.7.2
+    pytest_cookies
 commands=
+    pip install -U setuptools importlib-metadata
+    pip list
+    python -c "import importlib_metadata; 
print(importlib_metadata.version('importlib-metadata'))"
     pytest
 setenv =
     INSIDE_TOX_FOR_CPC = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/compat-patcher-core-1.2/{{cookiecutter.root_directory_name}}/.travis.yml 
new/compat-patcher-core-2.1/{{cookiecutter.root_directory_name}}/.travis.yml
--- 
old/compat-patcher-core-1.2/{{cookiecutter.root_directory_name}}/.travis.yml    
    2019-06-18 22:04:00.000000000 +0200
+++ 
new/compat-patcher-core-2.1/{{cookiecutter.root_directory_name}}/.travis.yml    
    2022-06-15 16:58:05.000000000 +0200
@@ -1,12 +1,11 @@
-dist: xenial
+sudo: false
 language: python
-cache: pip
 python:
-  - 2.7.13
-  - 3.4
-  - 3.5
-  - 3.6
-  - 3.7
+  - "3.6"
+  - "3.7"
+  - "3.8"
+  - "3.9"
+  - "3.10-dev"
 install:
   - pip install tox-travis
 script:

Reply via email to