Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix various test failures with Python 3.11 #328

Merged
merged 1 commit into from
Jul 1, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
4 changes: 2 additions & 2 deletions testtools/tests/test_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,9 @@ def test_run_list_failed_import(self):
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
...^...
Expand Down
23 changes: 13 additions & 10 deletions testtools/tests/test_testresult.py
Original file line number Diff line number Diff line change
Expand Up @@ -1265,11 +1265,11 @@ def test_traceback_formatting_without_stack_hidden(self):
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))

Expand All @@ -1282,7 +1282,7 @@ def test_traceback_formatting_with_stack_hidden(self):
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))

Expand Down Expand Up @@ -1321,17 +1321,17 @@ def test_traceback_with_locals(self):
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',
Expand Down Expand Up @@ -2644,12 +2644,15 @@ def test_unprintable_exception(self):
" 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"""
Expand Down
2 changes: 1 addition & 1 deletion testtools/tests/test_testsuite.py
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ def run(self):
"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...
Expand Down