summaryrefslogtreecommitdiff
path: root/tests/test_runner
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2022-04-07 07:02:21 +0200
committerGitHub <noreply@github.com>2022-04-07 07:02:21 +0200
commit2ee4caf56b8e000cabbb73ad81ff05738d6d0a35 (patch)
tree235be4c93977ad91f8fae7517b4e5b8ad629db32 /tests/test_runner
parentbfe9665502c77baf14ce6cf52af974033bd43164 (diff)
Refs #33173 -- Fixed test_runner/test_utils tests on Python 3.11+.
Python 3.11 uses fully qualified test name in unittest output. See https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
Diffstat (limited to 'tests/test_runner')
-rw-r--r--tests/test_runner/test_debug_sql.py14
-rw-r--r--tests/test_runner/test_parallel.py5
2 files changed, 13 insertions, 6 deletions
diff --git a/tests/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
index 9957295f01..d45d8cb4ba 100644
--- a/tests/test_runner/test_debug_sql.py
+++ b/tests/test_runner/test_debug_sql.py
@@ -4,6 +4,7 @@ from io import StringIO
from django.db import connection
from django.test import TestCase
from django.test.runner import DiscoverRunner
+from django.utils.version import PY311
from .models import Person
@@ -109,14 +110,17 @@ class TestDebugSQL(unittest.TestCase):
),
]
+ # Python 3.11 uses fully qualified test name in the output.
+ method_name = ".runTest" if PY311 else ""
+ test_class_path = "test_runner.test_debug_sql.TestDebugSQL"
verbose_expected_outputs = [
- "runTest (test_runner.test_debug_sql.TestDebugSQL.FailingTest) ... FAIL",
- "runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorTest) ... ERROR",
- "runTest (test_runner.test_debug_sql.TestDebugSQL.PassingTest) ... ok",
+ f"runTest ({test_class_path}.FailingTest{method_name}) ... FAIL",
+ f"runTest ({test_class_path}.ErrorTest{method_name}) ... ERROR",
+ f"runTest ({test_class_path}.PassingTest{method_name}) ... ok",
# If there are errors/failures in subtests but not in test itself,
# the status is not written. That behavior comes from Python.
- "runTest (test_runner.test_debug_sql.TestDebugSQL.FailingSubTest) ...",
- "runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorSubTest) ...",
+ f"runTest ({test_class_path}.FailingSubTest{method_name}) ...",
+ f"runTest ({test_class_path}.ErrorSubTest{method_name}) ...",
(
"""SELECT COUNT(*) AS "__count" """
"""FROM "test_runner_person" WHERE """
diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
index ca208f6a48..a2f68d3512 100644
--- a/tests/test_runner/test_parallel.py
+++ b/tests/test_runner/test_parallel.py
@@ -4,6 +4,7 @@ import unittest
from django.test import SimpleTestCase
from django.test.runner import RemoteTestResult
+from django.utils.version import PY311
try:
import tblib.pickling_support
@@ -125,7 +126,9 @@ class RemoteTestResultTest(SimpleTestCase):
self.assertEqual(event[0], "addSubTest")
self.assertEqual(
str(event[2]),
- "dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)",
+ "dummy_test (test_runner.test_parallel.SampleFailingSubtest%s) (index=0)"
+ # Python 3.11 uses fully qualified test name in the output.
+ % (".dummy_test" if PY311 else ""),
)
self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1')")