- Add fix_two_tests_py310.patch which fixes those tests with Python 3.10
(gh#ionelmc/python-aspectlib#22). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-aspectlib?expand=0&rev=11
This commit is contained in:
parent
08825fb892
commit
b7207d6d34
85
fix_two_tests_py310.patch
Normal file
85
fix_two_tests_py310.patch
Normal file
@ -0,0 +1,85 @@
|
||||
From 3753c940d08a681a4e41b16e282a2d7c63eef158 Mon Sep 17 00:00:00 2001
|
||||
From: Evangelos Foutras <evangelos@foutrelis.com>
|
||||
Date: Wed, 8 Dec 2021 04:13:16 +0200
|
||||
Subject: [PATCH] Fix two tests to work on Python 3.10
|
||||
|
||||
Python 3.10 adds the class name to the exception; adjust two tests
|
||||
affected by this change.
|
||||
---
|
||||
src/aspectlib/utils.py | 1 +
|
||||
tests/test_aspectlib_test.py | 16 +++++++++++-----
|
||||
2 files changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/aspectlib/utils.py b/src/aspectlib/utils.py
|
||||
index 9e0837e..7259187 100644
|
||||
--- a/src/aspectlib/utils.py
|
||||
+++ b/src/aspectlib/utils.py
|
||||
@@ -13,6 +13,7 @@
|
||||
|
||||
PY3 = sys.version_info[0] == 3
|
||||
PY37plus = PY3 and sys.version_info[1] >= 7
|
||||
+PY310plus = PY3 and sys.version_info[1] >= 10
|
||||
PY2 = sys.version_info[0] == 2
|
||||
PY26 = PY2 and sys.version_info[1] == 6
|
||||
PYPY = platform.python_implementation() == 'PyPy'
|
||||
diff --git a/tests/test_aspectlib_test.py b/tests/test_aspectlib_test.py
|
||||
index 05e2c25..e86ff9d 100644
|
||||
--- a/tests/test_aspectlib_test.py
|
||||
+++ b/tests/test_aspectlib_test.py
|
||||
@@ -3,7 +3,6 @@
|
||||
from pytest import raises
|
||||
from test_pkg1.test_pkg2 import test_mod
|
||||
|
||||
-from aspectlib import PY2
|
||||
from aspectlib.test import OrderedDict
|
||||
from aspectlib.test import Story
|
||||
from aspectlib.test import StoryResultWrapper
|
||||
@@ -13,7 +12,9 @@
|
||||
from aspectlib.test import _Returns
|
||||
from aspectlib.test import mock
|
||||
from aspectlib.test import record
|
||||
+from aspectlib.utils import PY2
|
||||
from aspectlib.utils import PY26
|
||||
+from aspectlib.utils import PY310plus
|
||||
from aspectlib.utils import repr_ex
|
||||
|
||||
pytest_plugins = 'pytester',
|
||||
@@ -414,14 +415,17 @@ def test_story_empty_play_proxy_class():
|
||||
(('stuff_1', 'mix', "'a', 'b'", ''), _Returns("(1, 2, 'a', 'b')")),
|
||||
(('stuff_1', 'meth', "123", ''), _Raises(repr_ex(TypeError(
|
||||
'meth() takes exactly 1 argument (2 given)' if PY2 else
|
||||
- 'meth() takes 1 positional argument but 2 were given'
|
||||
+ ('Stuff.' if PY310plus else '') +
|
||||
+ 'meth() takes 1 positional argument but 2 were given'
|
||||
+
|
||||
)))),
|
||||
((None, 'test_pkg1.test_pkg2.test_mod.Stuff', "0, 1", ''), _Binds('stuff_2')),
|
||||
(('stuff_2', 'mix', "'a', 'b'", ''), _Returns("(0, 1, 'a', 'b')")),
|
||||
(('stuff_2', 'mix', "3, 4", ''), _Returns("(0, 1, 3, 4)")),
|
||||
(('stuff_2', 'meth', "123", ''), _Raises(repr_ex(TypeError(
|
||||
'meth() takes exactly 1 argument (2 given)' if PY2 else
|
||||
- 'meth() takes 1 positional argument but 2 were given'
|
||||
+ ('Stuff.' if PY310plus else '') +
|
||||
+ 'meth() takes 1 positional argument but 2 were given'
|
||||
))))
|
||||
]))
|
||||
|
||||
@@ -449,14 +453,16 @@ def test_story_half_play_proxy_class():
|
||||
(('stuff_1', 'meth', '', ''), _Returns('None')),
|
||||
(('stuff_1', 'meth', '123', ''), _Raises(repr_ex(TypeError(
|
||||
'meth() takes exactly 1 argument (2 given)' if PY2 else
|
||||
- 'meth() takes 1 positional argument but 2 were given'
|
||||
+ ('Stuff.' if PY310plus else '') +
|
||||
+ 'meth() takes 1 positional argument but 2 were given'
|
||||
)))),
|
||||
((None, 'test_pkg1.test_pkg2.test_mod.Stuff', '0, 1', ''), _Binds("stuff_2")),
|
||||
(('stuff_2', 'mix', "'a', 'b'", ''), _Returns("(0, 1, 'a', 'b')")),
|
||||
(('stuff_2', 'mix', '3, 4', ''), _Returns('(0, 1, 3, 4)')),
|
||||
(('stuff_2', 'meth', '123', ''), _Raises(repr_ex(TypeError(
|
||||
'meth() takes exactly 1 argument (2 given)' if PY2 else
|
||||
- 'meth() takes 1 positional argument but 2 were given'
|
||||
+ ('Stuff.' if PY310plus else '') +
|
||||
+ 'meth() takes 1 positional argument but 2 were given'
|
||||
))))
|
||||
]))
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Dec 14 22:35:48 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Add fix_two_tests_py310.patch which fixes those tests with Python 3.10
|
||||
(gh#ionelmc/python-aspectlib#22).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Dec 11 15:47:05 UTC 2021 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
|
@ -25,6 +25,8 @@ Summary: Aspect-oriented programming
|
||||
License: BSD-2-Clause
|
||||
URL: https://github.com/ionelmc/python-aspectlib
|
||||
Source: https://files.pythonhosted.org/packages/source/a/aspectlib/aspectlib-%{version}.tar.gz
|
||||
# PATCH-FIX-UPSTREAM fix_two_tests_py310.patch gh#ionelmc/python-aspectlib#22 mcepl@suse.com
|
||||
Patch0: fix_two_tests_py310.patch
|
||||
BuildRequires: %{python_module setuptools}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
@ -50,7 +52,8 @@ testing: simple mock/record and a complete capture/replay
|
||||
framework.
|
||||
|
||||
%prep
|
||||
%setup -q -n aspectlib-%{version}
|
||||
%autosetup -p1 -n aspectlib-%{version}
|
||||
|
||||
# both tests not working (the first skipped by design, the second needed old tornado)
|
||||
# don't pull in tornado when not needed
|
||||
rm tests/test_integrations_py3.py
|
||||
@ -63,9 +66,7 @@ rm tests/test_integrations_py3.py
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
|
||||
%check
|
||||
# gh#ionelmc/python-aspectlib#24
|
||||
python310_extraargs=("-k" "not (test_story and play_proxy_class)")
|
||||
%pytest --ignore=src "${$python_extraargs[@]}"
|
||||
%pytest --ignore=src
|
||||
|
||||
%files %{python_files}
|
||||
%license LICENSE
|
||||
|
Loading…
Reference in New Issue
Block a user