Compare commits

..

No commits in common. "04d35ca364bcf267114428a5be1e2ed17218dd26" and "35ed7716971415cb60e70c69ec3b4396b16307d4" have entirely different histories.

7 changed files with 109 additions and 139 deletions

View File

@ -1,110 +0,0 @@
From 42691df705a895a42160c21cc13a7e0a99332a80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=BCrgen=20Gmach?= <juergen.gmach@googlemail.com>
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 "<string>", 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

View File

@ -1,22 +1,35 @@
Name: python-testtools Name: python-testtools
Version: 2.5.0 Version: 2.3.0
Release: 1 Release: 11
Summary: Extensions to the Python unit testing framework Summary: Extensions to the Python unit testing framework
License: MIT License: MIT
URL: https://launchpad.net/testtools URL: https://launchpad.net/testtools
Source0: https://pypi.io/packages/source/t/testtools/testtools-%{version}.tar.gz Source0: https://pypi.io/packages/source/t/testtools/testtools-%{version}.tar.gz
Patch0001: testtools-1.8.0-py3.patch
Patch0002: testtools-2.3.0-py37.patch
BuildRequires: python2-devel python2-extras python2-mimeparse >= 0.1.4 python2-pbr python2-setuptools
BuildRequires: python2-unittest2 >= 1.0.0 python2-traceback2 python2-testscenarios python3-devel
BuildRequires: python3-extras python3-mimeparse python3-pbr python3-setuptools python3-unittest2 BuildRequires: python3-extras python3-mimeparse python3-pbr python3-setuptools python3-unittest2
BuildRequires: python3-traceback2 python3-testscenarios python3-sphinx python3-devel BuildRequires: python3-traceback2 python3-testscenarios python3-sphinx
BuildArch: noarch BuildArch: noarch
#https://github.com/testing-cabal/testtools/commit/ec9bb7ed026566688a14be9d8d5d1e4c506e71c0
Patch0: 0001-Add-support-for-Python-3.10.patch
%description %description
Testtools is a set of extensions to the Python standard library's unit testing framework. These Testtools is a set of extensions to the Python standard library's unit testing framework. These
extensions have been derived from years of experience with unit testing in Python and come from extensions have been derived from years of experience with unit testing in Python and come from
many different sources. many different sources.
%package -n python2-testtools
Summary: Extensions to the Python unit testing framework
Requires: python2-extras python2-mimeparse python2-pbr python2-unittest2 >= 1.0.0 python2-traceback2
%{?python_provide:%python_provide python2-testtools}
%description -n python2-testtools
Testtools is a set of extensions to the Python standard library's unit testing framework. These
extensions have been derived from years of experience with unit testing in Python and come from
many different sources.
%package -n python3-testtools %package -n python3-testtools
Summary: Extensions to the Python unit testing framework Summary: Extensions to the Python unit testing framework
Requires: python3-extras python3-mimeparse python3-pbr python3-unittest2 >= 1.0.0 python3-traceback2 Requires: python3-extras python3-mimeparse python3-pbr python3-unittest2 >= 1.0.0 python3-traceback2
@ -28,7 +41,7 @@ many different sources.
%package help %package help
Summary: Documentation for python-testtools Summary: Documentation for python-testtools
Requires: python3-testtools = %{version}-%{release} Requires: python2-testtools = %{version}-%{release}
Provides: bundled(jquery) %{name}-doc = %{version}-%{release} Provides: bundled(jquery) %{name}-doc = %{version}-%{release}
Obsoletes: %{name}-doc < %{version}-%{release} Obsoletes: %{name}-doc < %{version}-%{release}
@ -36,40 +49,43 @@ Obsoletes: %{name}-doc < %{version}-%{release}
This package contains HTML documentation for python-testtools. This package contains HTML documentation for python-testtools.
%prep %prep
%autosetup -n testtools-%{version} -p1 %setup -q -n testtools-%{version}
rm -rf testtools.egg-info %patch0002 -p1
rm -rf %{py3dir}
cp -a . %{py3dir}
cd %{py3dir}
%patch0001 -p1
find %{py3dir} -name '*.py' | xargs sed -i '1s|^#!python|#!%{__python3}|'
rm -f %{py3dir}/testtools/_compat2x.py %{_builddir}/testtools-%{version}/testtools/_compat3x.py
%build %build
%py3_build %{__python2} setup.py build
PYTHONPATH=$PWD make -C doc html PYTHONPATH=$PWD make -C doc html
cd %{py3dir}
%{__python3} setup.py build
%install %install
%py3_install %{__python2} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
cd %{py3dir}
%{__python3} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
%check %check
make PYTHON=%{__python2} check
cd %{py3dir}
make PYTHON=%{__python3} check make PYTHON=%{__python3} check
%files -n python2-testtools
%doc LICENSE NEWS README.rst
%{python2_sitelib}/*
%files -n python3-testtools %files -n python3-testtools
%doc NEWS README.rst %doc LICENSE NEWS README.rst
%license LICENSE
%{python3_sitelib}/* %{python3_sitelib}/*
%files help %files help
%doc doc/_build/html/* %doc doc/_build/html/*
%changelog %changelog
* Wed Oct 26 2022 yaoxin <yaoxin30@h-partners.com> - 2.5.0-1
- Update to 2.5.0
* Sat Jan 08 2021 caodongxia <caodongxia@huawei.com> - 2.4.0-2
- Fix test fail
* Fri Aug 06 2021 liusheng <liusheng2048@gmail.com> - 2.4.0-1
- Upgrade to version 2.4.0
* Tue Aug 11 2020 zhangtao <zhangtao221@huawei.com> - 2.3.0-12
- Del Python2-testtools python2 is EOL and we recommend python3
* Thu Feb 20 2020 lingsheng <lingsheng@huawei.com> - 2.3.0-11 * Thu Feb 20 2020 lingsheng <lingsheng@huawei.com> - 2.3.0-11
- Modify buildrequires to fix build fail - Modify buildrequires to fix build fail

View File

@ -1,4 +0,0 @@
version_control: github
src_repo: testing-cabal/testtools
tag_prefix: testtools-
seperator: .

14
testtools-1.8.0-py3.patch Normal file
View File

@ -0,0 +1,14 @@
--- testtools-1.8.0/testtools/compat.py.py3 2015-03-11 04:19:19.000000000 +0700
+++ testtools-1.8.0/testtools/compat.py 2015-07-28 22:54:02.537568121 +0700
@@ -32,10 +32,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

View File

@ -0,0 +1,54 @@
From 29004731f9c480b7c44a9c2605513d50d372898f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Thu, 17 May 2018 17:52:26 +0200
Subject: [PATCH] Fix the tests on Python 3.7
Exception's repr got changed not to include trailing comma
Fixes https://github.com/testing-cabal/testtools/issues/270
---
.travis.yml | 1 +
testtools/tests/matchers/test_exception.py | 11 +++++++++--
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index 7f1f4db7..784608e0 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,6 +5,7 @@ python:
- "3.4"
- "3.5"
- "3.6"
+ - "3.7-dev"
- "pypy"
install:
diff --git a/testtools/tests/matchers/test_exception.py b/testtools/tests/matchers/test_exception.py
index 6cd80af1..acd39252 100644
--- a/testtools/tests/matchers/test_exception.py
+++ b/testtools/tests/matchers/test_exception.py
@@ -32,15 +32,22 @@ class TestMatchesExceptionInstanceInterface(TestCase, TestMatchersInterface):
matches_matches = [error_foo]
matches_mismatches = [error_bar, error_base_foo]
+ if sys.version_info >= (3, 7):
+ # exception's repr has changed
+ _e = ''
+ else:
+ _e = ','
+
str_examples = [
- ("MatchesException(Exception('foo',))",
+ ("MatchesException(Exception('foo'%s))" % _e,
MatchesException(Exception('foo')))
]
describe_examples = [
("%r is not a %r" % (Exception, ValueError),
error_base_foo,
MatchesException(ValueError("foo"))),
- ("ValueError('bar',) has different arguments to ValueError('foo',).",
+ ("ValueError('bar'%s) has different arguments to ValueError('foo'%s)."
+ % (_e, _e),
error_bar,
MatchesException(ValueError("foo"))),
]

BIN
testtools-2.3.0.tar.gz Normal file

Binary file not shown.

Binary file not shown.