Matej Cepl
b7207d6d34
(gh#ionelmc/python-aspectlib#22). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-aspectlib?expand=0&rev=11
86 lines
3.6 KiB
Diff
86 lines
3.6 KiB
Diff
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'
|
|
))))
|
|
]))
|
|
|