diff options
author | Jelmer Vernooij <jelmer@jelmer.uk> | 2022-07-01 19:37:40 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-01 19:37:40 +0100 |
commit | 73eb82e06c6578fc964a2bf4b6710ed71f3b045c (patch) | |
tree | 92b2c0de99f7edd22376aa7f5a92ff7a2a08af3a | |
parent | e4ea2ec854191c83572e0b94d5d15425a6fd9a87 (diff) | |
parent | 4c352be4d3ba2dbf870b1e19885c4a4135264295 (diff) | |
download | testtools-73eb82e06c6578fc964a2bf4b6710ed71f3b045c.tar.gz |
Merge branch 'master' into compound-fixture
-rw-r--r-- | testtools/testcase.py | 2 | ||||
-rw-r--r-- | testtools/tests/test_run.py | 4 | ||||
-rw-r--r-- | testtools/tests/test_testcase.py | 4 | ||||
-rw-r--r-- | testtools/tests/test_testresult.py | 23 | ||||
-rw-r--r-- | testtools/tests/test_testsuite.py | 2 |
5 files changed, 22 insertions, 13 deletions
diff --git a/testtools/testcase.py b/testtools/testcase.py index 012def3..f3bd510 100644 --- a/testtools/testcase.py +++ b/testtools/testcase.py @@ -275,6 +275,8 @@ class TestCase(unittest.TestCase): return False return self.__dict__ == other.__dict__ + __hash__ = unittest.TestCase.__hash__ + def __repr__(self): # We add id to the repr because it makes testing testtools easier. return f"<{self.id()} id=0x{id(self):0x}>" diff --git a/testtools/tests/test_run.py b/testtools/tests/test_run.py index ee96eec..9808421 100644 --- a/testtools/tests/test_run.py +++ b/testtools/tests/test_run.py @@ -202,9 +202,9 @@ unittest.loader._FailedTest.runexample Failed to import test module: runexample Traceback (most recent call last): File ".../loader.py", line ..., in _find_test_path - package = self._get_module_from_name(name) + package = self._get_module_from_name(name)... File ".../loader.py", line ..., in _get_module_from_name - __import__(name) + __import__(name)... File ".../runexample/__init__.py", line 1 class not in ...^... diff --git a/testtools/tests/test_testcase.py b/testtools/tests/test_testcase.py index 00cb60d..c2766ff 100644 --- a/testtools/tests/test_testcase.py +++ b/testtools/tests/test_testcase.py @@ -86,6 +86,10 @@ class TestPlaceHolder(TestCase): test = PlaceHolder("test id", "description") self.assertEqual("description", test.shortDescription()) + def test_testcase_is_hashable(self): + test = hash(self) + self.assertEqual(unittest.TestCase.__hash__(self), test) + def test_repr_just_id(self): # repr(placeholder) shows you how the object was constructed. test = PlaceHolder("test id") diff --git a/testtools/tests/test_testresult.py b/testtools/tests/test_testresult.py index 72ffb0a..d419f02 100644 --- a/testtools/tests/test_testresult.py +++ b/testtools/tests/test_testresult.py @@ -1265,11 +1265,11 @@ class TestTestResult(TestCase): DocTestMatches( 'Traceback (most recent call last):\n' ' File "...testtools...runtest.py", line ..., in _run_user\n' - ' return fn(*args, **kwargs)\n' + ' return fn(*args, **kwargs)\n...' ' File "...testtools...testcase.py", line ..., in _run_test_method\n' - ' return self._get_test_method()()\n' + ' return self._get_test_method()()\n...' ' File "...testtools...tests...test_testresult.py", line ..., in error\n' - ' 1/0\n' + ' 1/0\n...' 'ZeroDivisionError: ...\n', doctest.ELLIPSIS | doctest.REPORT_UDIFF)) @@ -1282,7 +1282,7 @@ class TestTestResult(TestCase): DocTestMatches( 'Traceback (most recent call last):\n' ' File "...testtools...tests...test_testresult.py", line ..., in error\n' - ' 1/0\n' + ' 1/0\n...' 'ZeroDivisionError: ...\n', doctest.ELLIPSIS)) @@ -1321,17 +1321,17 @@ class TestTestResult(TestCase): DocTestMatches( 'Traceback (most recent call last):\n' ' File "...testtools...runtest.py", line ..., in _run_user\n' - ' return fn(*args, **kwargs)\n' + ' return fn(*args, **kwargs)\n...' ' args = ...\n' ' fn = ...\n' ' kwargs = ...\n' ' self = ...\n' ' File "...testtools...testcase.py", line ..., in _run_test_method\n' - ' return self._get_test_method()()\n' + ' return self._get_test_method()()\n...' ' result = ...\n' ' self = ...\n' ' File "...testtools...tests...test_testresult.py", line ..., in error\n' - ' 1/0\n' + ' 1/0\n...' ' a = 1\n' ' self = ...\n' 'ZeroDivisionError: ...\n', @@ -2644,12 +2644,15 @@ class TestNonAsciiResults(TestCase): " raise RuntimeError\n" " def __repr__(self):\n" " raise RuntimeError\n") + if sys.version_info >= (3, 11): + expected = "UnprintableError: <exception str() failed>\n" + else: + expected = ( + "UnprintableError: <unprintable UnprintableError object>\n") textoutput = self._test_external_case( modulelevel=exception_class, testline="raise UnprintableError") - self.assertIn(self._as_output( - "UnprintableError: <unprintable UnprintableError object>\n"), - textoutput) + self.assertIn(self._as_output(expected), textoutput) def test_non_ascii_dirname(self): """Script paths in the traceback can be non-ascii""" diff --git a/testtools/tests/test_testsuite.py b/testtools/tests/test_testsuite.py index 358ac3a..26d2152 100644 --- a/testtools/tests/test_testsuite.py +++ b/testtools/tests/test_testsuite.py @@ -178,7 +178,7 @@ class TestConcurrentStreamTestSuiteRun(TestCase): "Traceback (most recent call last):\n") self.assertThat(events[2][6].decode('utf8'), DocTestMatches("""\ File "...testtools/testsuite.py", line ..., in _run_test - test.run(process_result) + test.run(process_result)... """, doctest.ELLIPSIS)) self.assertThat(events[3][6].decode('utf8'), DocTestMatches("""\ TypeError: ...run() takes ...1 ...argument...2...given... |