Blob Blame History Raw
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