diff --git a/0001-Add-support-for-Python-3.10.patch b/0001-Add-support-for-Python-3.10.patch new file mode 100644 index 0000000000000000000000000000000000000000..9e0a9338ef4bbeffde6c7af375a660647c25ee82 --- /dev/null +++ b/0001-Add-support-for-Python-3.10.patch @@ -0,0 +1,110 @@ +From 42691df705a895a42160c21cc13a7e0a99332a80 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=BCrgen=20Gmach?= +Date: Thu, 14 Oct 2021 21:00:21 +0200 +Subject: [PATCH 1/3] Add support for Python 3.10 + +(cherry picked from commit ec9bb7ed026566688a14be9d8d5d1e4c506e71c0) +--- + .github/workflows/test.yml | 2 +- + NEWS | 9 +++++++++ + scripts/all-pythons | 2 +- + setup.cfg | 1 + + testtools/tests/test_testresult.py | 5 ++++- + tox.ini | 2 +- + 6 files changed, 17 insertions(+), 4 deletions(-) + +diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml +index 70cacf7..44c27b7 100644 +--- a/.github/workflows/test.yml ++++ b/.github/workflows/test.yml +@@ -8,7 +8,7 @@ jobs: + strategy: + fail-fast: false + matrix: +- python-version: [3.5, 3.6, 3.7, 3.8, 3.9, 3.10-dev, pypy3] ++ python-version: [3.5, 3.6, 3.7, 3.8, 3.9, "3.10", pypy3] + + steps: + - uses: actions/checkout@v2 +diff --git a/NEWS b/NEWS +index df49f5e..cf7f84f 100644 +--- a/NEWS ++++ b/NEWS +@@ -3,6 +3,15 @@ testtools NEWS + + Changes and improvements to testtools_, grouped by release. + ++NEXT ++~~~~ ++ ++Improvements ++------------ ++ ++* Add support for Python 3.10. ++ (Jürgen Gmach) ++ + 2.5.0 + ~~~~~ + +diff --git a/scripts/all-pythons b/scripts/all-pythons +index 6996a44..0fbe010 100755 +--- a/scripts/all-pythons ++++ b/scripts/all-pythons +@@ -89,5 +89,5 @@ def now(): + if __name__ == '__main__': + sys.path.append(ROOT) + result = TestProtocolClient(sys.stdout) +- for version in '3.5 3.6 3.7 3.8 3.9'.split(): ++ for version in '3.5 3.6 3.7 3.8 3.9 3.10'.split(): + run_for_python(version, result, sys.argv[1:]) +diff --git a/setup.cfg b/setup.cfg +index 36d90ce..831ed4a 100644 +--- a/setup.cfg ++++ b/setup.cfg +@@ -17,6 +17,7 @@ classifier = + Programming Language :: Python :: 3.7 + Programming Language :: Python :: 3.8 + Programming Language :: Python :: 3.9 ++ Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3 :: Only + Programming Language :: Python :: Implementation :: CPython + Programming Language :: Python :: Implementation :: PyPy +diff --git a/testtools/tests/test_testresult.py b/testtools/tests/test_testresult.py +index a9db0e2..4fbf15d 100644 +--- a/testtools/tests/test_testresult.py ++++ b/testtools/tests/test_testresult.py +@@ -2667,16 +2667,19 @@ class TestNonAsciiResults(TestCase): + """Syntax errors should still have fancy special-case formatting""" + if platform.python_implementation() == "PyPy": + spaces = ' ' ++ marker = '^' + elif sys.version_info >= (3, 10): + spaces = ' ' ++ marker = '^^^' + else: + spaces = ' ' ++ marker = '^' + textoutput = self._test_external_case("exec ('f(a, b c)')") + self.assertIn(self._as_output( + ' File "", line 1\n' + ' f(a, b c)\n' + + ' ' * self._error_on_character + +- spaces + '^\n' ++ spaces + marker + '\n' + 'SyntaxError: ' + ), textoutput) + +diff --git a/tox.ini b/tox.ini +index 5e9ab12..0416e06 100644 +--- a/tox.ini ++++ b/tox.ini +@@ -1,5 +1,5 @@ + [tox] +-envlist = py35,py36,py37,py38,py39,310,pypy3 ++envlist = py35,py36,py37,py38,py39,py310,pypy3 + minversion = 1.6 + + [testenv] +-- +2.35.1 + diff --git a/python-testtools.spec b/python-testtools.spec index 1eb8212e4b998f17d478da51da2accbeead4f7ec..2e99a2853a69a2073d1f0e3b04b87c2f9745eb27 100644 --- a/python-testtools.spec +++ b/python-testtools.spec @@ -1,6 +1,6 @@ Name: python-testtools -Version: 2.4.0 -Release: 2 +Version: 2.5.0 +Release: 1 Summary: Extensions to the Python unit testing framework License: MIT URL: https://launchpad.net/testtools @@ -9,8 +9,8 @@ Source0: https://pypi.io/packages/source/t/testtools/testtools-%{version} BuildRequires: python3-extras python3-mimeparse python3-pbr python3-setuptools python3-unittest2 BuildRequires: python3-traceback2 python3-testscenarios python3-sphinx python3-devel BuildArch: noarch -Patch0: testtools-2.4.0-fix-py3-compat.patch -Patch1: testtools-2.4.0-fix_py39_test.patch +#https://github.com/testing-cabal/testtools/commit/ec9bb7ed026566688a14be9d8d5d1e4c506e71c0 +Patch0: 0001-Add-support-for-Python-3.10.patch %description Testtools is a set of extensions to the Python standard library's unit testing framework. These @@ -50,13 +50,17 @@ PYTHONPATH=$PWD make -C doc html make PYTHON=%{__python3} check %files -n python3-testtools -%doc LICENSE NEWS README.rst +%doc NEWS README.rst +%license LICENSE %{python3_sitelib}/* %files help %doc doc/_build/html/* %changelog +* Wed Oct 26 2022 yaoxin - 2.5.0-1 +- Update to 2.5.0 + * Sat Jan 08 2021 caodongxia - 2.4.0-2 - Fix test fail diff --git a/testtools-2.4.0-fix-py3-compat.patch b/testtools-2.4.0-fix-py3-compat.patch deleted file mode 100644 index 52d1dae8ee0c0dacd8d0bed831f7b8c7ed46c372..0000000000000000000000000000000000000000 --- a/testtools-2.4.0-fix-py3-compat.patch +++ /dev/null @@ -1,36 +0,0 @@ -diff -urN testtools-2.4.0/testtools/_compat2x.py testtools-2.4.0-new/testtools/_compat2x.py ---- testtools-2.4.0/testtools/_compat2x.py 2015-11-08 01:27:33.000000000 +0800 -+++ testtools-2.4.0-new/testtools/_compat2x.py 1970-01-01 08:00:00.000000000 +0800 -@@ -1,17 +0,0 @@ --# Copyright (c) 2011 testtools developers. See LICENSE for details. -- --"""Compatibility helpers that are valid syntax in Python 2.x. -- --Only add things here if they *only* work in Python 2.x or are Python 2 --alternatives to things that *only* work in Python 3.x. --""" -- --__all__ = [ -- 'reraise', -- ] -- -- --def reraise(exc_class, exc_obj, exc_tb, _marker=object()): -- """Re-raise an exception received from sys.exc_info() or similar.""" -- raise exc_class, exc_obj, exc_tb -- -diff -urN testtools-2.4.0/testtools/compat.py testtools-2.4.0-new/testtools/compat.py ---- testtools-2.4.0/testtools/compat.py 2018-04-05 07:27:14.000000000 +0800 -+++ testtools-2.4.0-new/testtools/compat.py 2021-08-06 10:55:13.294527126 +0800 -@@ -33,10 +33,7 @@ - # To let setup.py work, make this a conditional import. - linecache = try_import('linecache2') - --try: -- from testtools import _compat2x as _compat --except SyntaxError: -- from testtools import _compat3x as _compat -+from testtools import _compat3x as _compat - - reraise = _compat.reraise - diff --git a/testtools-2.4.0-fix_py39_test.patch b/testtools-2.4.0-fix_py39_test.patch deleted file mode 100644 index bbcf8e4f2588bcebc9c5b21d9f22db1a20b196d3..0000000000000000000000000000000000000000 --- a/testtools-2.4.0-fix_py39_test.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ru testtools-2.4.0-orig/testtools/tests/test_testresult.py testtools-2.4.0/testtools/tests/test_testresult.py ---- testtools-2.4.0-orig/testtools/tests/test_testresult.py 2019-11-28 00:58:29.000000000 -0800 -+++ testtools-2.4.0/testtools/tests/test_testresult.py 2020-05-16 13:40:50.141580104 -0700 -@@ -2755,6 +2755,9 @@ - textoutput = self._setup_external_case("import bad") - self._write_module("bad", "utf-8", _u("\ufeff^ = 0 # %s\n") % text) - textoutput = self._run_external_case() -+ # Python 3.9 no longer prints the '\ufeff' -+ if sys.version_info >= (3,9): -+ textoutput = textoutput.replace('\ufeff', '') - self.assertThat( - textoutput, - MatchesRegex( - \ No newline at end of file diff --git a/testtools-2.4.0.tar.gz b/testtools-2.4.0.tar.gz deleted file mode 100644 index cfeb9ee5ef24e4fea7ecee61f126c01c58d4349e..0000000000000000000000000000000000000000 Binary files a/testtools-2.4.0.tar.gz and /dev/null differ diff --git a/testtools-2.5.0.tar.gz b/testtools-2.5.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..fe5df24f4f03fb73d94c832d8c2c7258a5c860d9 Binary files /dev/null and b/testtools-2.5.0.tar.gz differ