dev-python/testtools: Remove old

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2021-08-16 08:28:33 +02:00
parent aa17b90da1
commit 45d8330c5e
5 changed files with 0 additions and 211 deletions

View File

@@ -1,2 +1 @@
DIST testtools-2.4.0.tar.gz 233032 BLAKE2B 8b0559039bfc5e18dfe8d70cc10f6e43ad2e1fbebf7d20d9c6c876c5672a6149064f558150d8eb09f569b82983ffe67e06143b14a1d8869efcc585839d6216ae SHA512 af26e163a4caeb207a554b19f86c7892ab5ebe904c144d85273464e880cd18a991c70a77ff817aefb15768fa38f382e9ed853cdefb212dc697b24072e17535c0
DIST testtools-2.5.0.tar.gz 235399 BLAKE2B 62d62cd12f19eb3fad419dc06e7f0152bf8f70a9f60927b1d791f2905b34e13199ceac93b3d30735acae2c5db1e8554cc5a7f6c8588d1f05fb213c424e90a12b SHA512 6adbf9e90f0647a44130e99cd94e4c0cbfab3a1b5c28b6bb124d061defe69d8043186cfe554099936effe16a6b07d59927bfeb6820f5a0fb34970ff243030fd4

View File

@@ -1,27 +0,0 @@
From 2ead7c11a54b0860e02992212e302c4a7bd26c35 Mon Sep 17 00:00:00 2001
From: Matthew Treinish <mtreinish@kortar.org>
Date: Wed, 8 Jul 2020 14:22:24 -0400
Subject: [PATCH] Update testtools/testcase.py
Co-authored-by: Thomas Grainger <tagrain@gmail.com>
---
testtools/testcase.py | 1 +
1 file changed, 1 insertion(+)
Rebased for 2.4.0 by Michał Górny (eliminating intermediate commits).
diff --git a/testtools/testcase.py b/testtools/testcase.py
index bff5be2..22e9143 100644
--- a/testtools/testcase.py
+++ b/testtools/testcase.py
@@ -501,6 +501,7 @@ class TestCase(unittest.TestCase):
if mismatch_error is not None:
raise mismatch_error
+ assertItemsEqual = unittest.TestCase.assertCountEqual
def addDetailUniqueName(self, name, content_object):
"""Add a detail to the test, but ensure it's name is unique.
--
2.32.0

View File

@@ -1,43 +0,0 @@
From d528842b99b16efce212e15dae3f0a54927d06d8 Mon Sep 17 00:00:00 2001
From: Cyril Roelandt <cyril@redhat.com>
Date: Fri, 19 Mar 2021 02:50:13 +0000
Subject: [PATCH] Fix tests with Python 3.10
In Python 3, error messages have become a bit more precise. For
instance, the following code snippet:
----
class Foo():
def bar(self, a):
pass
try:
Foo().bar(1, 2)
except TypeError as e:
print(e)
----
will return:
- in Python 3.9: "bar() takes 2 positional arguments but 3 were given"
- in Python 3.10: "Foo.bar() takes 2 positional arguments but 3 were
given"
Fix our tests accordingly.
---
testtools/tests/test_testsuite.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/testtools/tests/test_testsuite.py b/testtools/tests/test_testsuite.py
index 7ad5b74d..65cb88d7 100644
--- a/testtools/tests/test_testsuite.py
+++ b/testtools/tests/test_testsuite.py
@@ -181,7 +181,7 @@ def run(self):
test.run(process_result)
""", doctest.ELLIPSIS))
self.assertThat(events[3][6].decode('utf8'), DocTestMatches("""\
-TypeError: run() takes ...1 ...argument...2...given...
+TypeError: ...run() takes ...1 ...argument...2...given...
""", doctest.ELLIPSIS))
events = [event[0:10] + (None,) for event in events]
events[1] = events[1][:6] + (None,) + events[1][7:]

View File

@@ -1,76 +0,0 @@
From 1d698cf91cb2205aedc018e465a2e17c5a6a3e94 Mon Sep 17 00:00:00 2001
From: Michel Alexandre Salim <michel@michel-slm.name>
Date: Sat, 16 May 2020 13:21:38 -0700
Subject: [PATCH] Fix syntax error test for Python 3.9
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
On Python 3.9 the zero-width no-break space Unicode character U+FEFF
does not get printed in syntax errors.
See:
https://bugzilla.redhat.com/show_bug.cgi?id=1831126
This is reproducible in a virtual environment as well.
Before:
```
.venv ❯ make check
PYTHONPATH=/home/michel/src/github/testing-cabal/testtools python -m testtools.run testtools.tests.test_suite
/usr/lib64/python3.9/runpy.py:127: RuntimeWarning: 'testtools.run' found in sys.modules after import of package 'testtools', but prior to execution of 'testtools.run'; this may result in unpredictable behaviour
warn(RuntimeWarning(msg))
Tests running...
======================================================================
FAIL: testtools.tests.test_testresult.TestNonAsciiResults.test_syntax_error_line_utf_8
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/michel/src/github/testing-cabal/testtools/testtools/tests/test_testresult.py", line 2744, in test_syntax_error_line_utf_8
self.assertThat(
File "/home/michel/src/github/testing-cabal/testtools/testtools/testcase.py", line 499, in assertThat
raise mismatch_error
testtools.matchers._impl.MismatchError: 'Tests running...\n======================================================================\nERROR: test_syntax_error_line_utf_8.Test.runTest\n----------------------------------------------------------------------\nTraceback (most recent call last):\n File "/tmp/TestNonAsciiResultsblblh75h/test_syntax_error_line_utf_8.py", line 6, in runTest\n import bad\n File "/tmp/TestNonAsciiResultsblblh75h/bad.py", line 1\n \ufeff^ = 0 # paɪθən\n ^\nSyntaxError: invalid syntax\n\nRan 1 test in 0.001s\nFAILED (failures=1)\n' does not match /.*bad.py", line 1\n\s*\^ = 0 # pa\u026a\u03b8\u0259n\n \s*\^\nSyntaxError:.*/
======================================================================
FAIL: testtools.tests.test_testresult.TestNonAsciiResultsWithUnittest.test_syntax_error_line_utf_8
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/michel/src/github/testing-cabal/testtools/testtools/tests/test_testresult.py", line 2744, in test_syntax_error_line_utf_8
self.assertThat(
File "/home/michel/src/github/testing-cabal/testtools/testtools/testcase.py", line 499, in assertThat
raise mismatch_error
testtools.matchers._impl.MismatchError: 'E\n======================================================================\nERROR: runTest (test_syntax_error_line_utf_8.Test)\ntest_syntax_error_line_utf_8.Test.runTest\n----------------------------------------------------------------------\ntesttools.testresult.real._StringException: Traceback (most recent call last):\n File "/tmp/TestNonAsciiResultsWithUnittest_zzswpmj/test_syntax_error_line_utf_8.py", line 6, in runTest\n import bad\n File "/tmp/TestNonAsciiResultsWithUnittest_zzswpmj/bad.py", line 1\n \ufeff^ = 0 # paɪθən\n ^\nSyntaxError: invalid syntax\n\n\n----------------------------------------------------------------------\nRan 1 test in 0.000s\n\nFAILED (errors=1)\n' does not match /.*bad.py", line 1\n\s*\^ = 0 # pa\u026a\u03b8\u0259n\n \s*\^\nSyntaxError:.*/
Ran 2627 tests in 0.569s
FAILED (failures=2)
make: *** [Makefile:7: check] Error 1
```
After:
```
.venv ❯ make check
PYTHONPATH=/home/michel/src/github/testing-cabal/testtools python -m testtools.run testtools.tests.test_suite
/usr/lib64/python3.9/runpy.py:127: RuntimeWarning: 'testtools.run' found in sys.modules after import of package 'testtools', but prior to execution of 'testtools.run'; this may result in unpredictable behaviour
warn(RuntimeWarning(msg))
Tests running...
Ran 2627 tests in 0.492s
OK
```
---
testtools/tests/test_testresult.py | 3 +++
1 file changed, 3 insertions(+)
diff --git a/testtools/tests/test_testresult.py b/testtools/tests/test_testresult.py
index 3bbd8937..deceb07d 100644
--- a/testtools/tests/test_testresult.py
+++ b/testtools/tests/test_testresult.py
@@ -2741,6 +2741,9 @@ def test_syntax_error_line_utf_8(self):
textoutput = self._setup_external_case("import bad")
self._write_module("bad", "utf-8", "\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(

View File

@@ -1,64 +0,0 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
DESCRIPTION="Extensions to the Python standard library unit testing framework"
HOMEPAGE="https://github.com/testing-cabal/testtools"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
RDEPEND="
>=dev-python/extras-1.0.0[${PYTHON_USEDEP}]
dev-python/python-mimeparse[${PYTHON_USEDEP}]
>=dev-python/pbr-0.11[${PYTHON_USEDEP}]
dev-python/pyrsistent[${PYTHON_USEDEP}]
>=dev-python/six-1.4.0[${PYTHON_USEDEP}]
"
DEPEND="
test? (
>=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]
dev-python/testscenarios[${PYTHON_USEDEP}]
)
"
PDEPEND=">=dev-python/fixtures-1.3.0[${PYTHON_USEDEP}]"
PATCHES=(
"${FILESDIR}"/testtools-2.4.0-py39.patch
"${FILESDIR}"/testtools-2.4.0-py310.patch
"${FILESDIR}"/testtools-2.4.0-assertitemsequal.patch
)
distutils_enable_sphinx doc
distutils_enable_tests unittest
src_prepare() {
# eliminate unittest2 & traceback2
sed -i -e '/unittest2/d' -e '/traceback2/d' requirements.txt || die
# eliminate linecache2
sed -i -e 's/import linecache2 as linecache/import linecache/' \
testtools/tests/test_compat.py || die
# also conditional imports
find -name '*.py' -exec \
sed -i -e 's:unittest2:unittest:' {} + || die
sed -i -e 's/^traceback =.*/import traceback/' \
testtools/content.py || die
# py3.10 changed the output
sed -i -e 's:test_syntax_error:_&:' \
testtools/tests/test_testresult.py || die
distutils-r1_src_prepare
}
python_test() {
"${PYTHON}" -m testtools.run testtools.tests.test_suite ||
die "tests failed under ${EPYTHON}"
}