1
0
mirror of https://github.com/django/django.git synced 2025-10-23 21:59:11 +00:00

Refs #33173 -- Fixed test_runner/test_utils tests on Python 3.11+.

Python 3.11 uses fully qualified test name in unittest output. See
755be9b150
This commit is contained in:
Mariusz Felisiak
2022-04-07 07:02:21 +02:00
committed by GitHub
parent bfe9665502
commit 2ee4caf56b
3 changed files with 22 additions and 10 deletions

View File

@@ -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 """