1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #33264 -- Made test runner return non-zero error code for unexpected successes.

This commit is contained in:
Baptiste Mispelon
2021-11-04 15:31:26 +01:00
committed by Mariusz Felisiak
parent 1a5023883b
commit 91acfc3514
6 changed files with 51 additions and 2 deletions

View File

@@ -644,6 +644,24 @@ class DiscoverRunnerTests(SimpleTestCase):
runner.log('log message', level)
self.assertEqual(cm.output, [expected])
def test_suite_result_with_failure(self):
cases = [
(1, 'FailureTestCase'),
(1, 'ErrorTestCase'),
(0, 'ExpectedFailureTestCase'),
(1, 'UnexpectedSuccessTestCase'),
]
runner = DiscoverRunner(verbosity=0)
for expected_failures, testcase in cases:
with self.subTest(testcase=testcase):
suite = runner.build_suite([
f'test_runner_apps.failures.tests_failures.{testcase}',
])
with captured_stderr():
result = runner.run_suite(suite)
failures = runner.suite_result(suite, result)
self.assertEqual(failures, expected_failures)
class DiscoverRunnerGetDatabasesTests(SimpleTestCase):
runner = DiscoverRunner(verbosity=2)