Date: Wednesday, December 8, 2021 @ 02:19:35 Author: foutrelis Revision: 1065581
Fix tests with Python 3.10 Added: python-aspectlib/trunk/python310.patch Modified: python-aspectlib/trunk/PKGBUILD -----------------+ PKGBUILD | 12 ++++++- python310.patch | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+), 2 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-12-08 01:16:51 UTC (rev 1065580) +++ PKGBUILD 2021-12-08 02:19:35 UTC (rev 1065581) @@ -11,9 +11,17 @@ makedepends=('python-setuptools') checkdepends=('python-mock' 'python-tornado' 'python-process-tests' 'python-profilestats' 'python-pytest-runner') # 'mysql-python') -source=("$pkgname-$pkgver.tar.gz::https://github.com/ionelmc/python-aspectlib/archive/v$pkgver.tar.gz") -sha512sums=('33642f828989d07c6af78bdf9adc9f2abbc419df89b878cfe7bd9c8df226a59401176b56b1f2b3ba48661ea5a145520de0bc7a0980226b742b0a79f31ab7dd7f') +source=("$pkgname-$pkgver.tar.gz::https://github.com/ionelmc/python-aspectlib/archive/v$pkgver.tar.gz" + python310.patch) +sha512sums=('33642f828989d07c6af78bdf9adc9f2abbc419df89b878cfe7bd9c8df226a59401176b56b1f2b3ba48661ea5a145520de0bc7a0980226b742b0a79f31ab7dd7f' + '74b4261afd1fe20749f94dab067514eab12c484453607b820a96e1e8308fddbac4ac49ce24334c79c9fea6729877457ae60cb5004709106186c51d9af66087af') +prepare() { + cd python-aspectlib-$pkgver + # https://github.com/ionelmc/python-aspectlib/pull/22 + patch -Np1 -i ../python310.patch +} + build() { cd python-aspectlib-$pkgver python setup.py build Added: python310.patch =================================================================== --- python310.patch (rev 0) +++ python310.patch 2021-12-08 02:19:35 UTC (rev 1065581) @@ -0,0 +1,85 @@ +From 3753c940d08a681a4e41b16e282a2d7c63eef158 Mon Sep 17 00:00:00 2001 +From: Evangelos Foutras <evange...@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 @@ RegexType = type(re.compile("")) + + 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 __future__ import print_function + 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 _Raises + 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' + )))) + ])) +