summaryrefslogtreecommitdiff
path: root/tests/test_runner
diff options
context:
space:
mode:
authorBaptiste Mispelon <bmispelon@gmail.com>2021-11-04 15:31:26 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-08 20:19:21 +0100
commit91acfc3514280370535f1dd6bebee57760bac7b9 (patch)
tree7620a17204f1fb1cf8cc236d7d97652f56885bc5 /tests/test_runner
parent1a5023883bf4c8cccb34a830edcc3c82aa862455 (diff)
Fixed #33264 -- Made test runner return non-zero error code for unexpected successes.
Diffstat (limited to 'tests/test_runner')
-rw-r--r--tests/test_runner/test_discover_runner.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py
index 0012be5a7e..7fef5652df 100644
--- a/tests/test_runner/test_discover_runner.py
+++ b/tests/test_runner/test_discover_runner.py
@@ -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)