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 <[email protected]>
+
+- 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: