diff options
| author | Shubham Singh <ssingh@multimediallc.com> | 2025-09-12 14:32:35 -0500 |
|---|---|---|
| committer | Jacob Walls <jacobtylerwalls@gmail.com> | 2025-09-26 10:56:56 -0400 |
| commit | f8e91d0104b58badcc45e39b12375a6092866db5 (patch) | |
| tree | 3be9ec51f8e7615ec9cb2fd5005707e1fcbbf627 /tests/test_runner/test_parallel.py | |
| parent | db2f206ee1b1be68e77ffc26eccdcd662897df65 (diff) | |
[6.0.x] Fixed #36491 -- Fixed crash in ParallelTestRunner with --buffer.
Thanks Javier Buzzi and Adam Johnson for reviews.
Co-authored-by: Simon Charette <charette.s@gmail.com>
Backport of be581ff473e8ade6365975db2df602f295a4cb4b from main.
Diffstat (limited to 'tests/test_runner/test_parallel.py')
| -rw-r--r-- | tests/test_runner/test_parallel.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py index f344f1a2db..d4558018b0 100644 --- a/tests/test_runner/test_parallel.py +++ b/tests/test_runner/test_parallel.py @@ -282,3 +282,27 @@ class ParallelTestSuiteTest(SimpleTestCase): self.assertEqual(len(result.errors), 0) self.assertEqual(len(result.failures), 0) + + def test_buffer_mode_reports_setupclass_failure(self): + test = SampleErrorTest("dummy_test") + remote_result = RemoteTestResult() + suite = TestSuite([test]) + suite.run(remote_result) + + pts = ParallelTestSuite([suite], processes=2, buffer=True) + pts.serialized_aliases = set() + test_result = TestResult() + test_result.buffer = True + + with unittest.mock.patch("multiprocessing.Pool") as mock_pool: + + def fake_next(*args, **kwargs): + test_result.shouldStop = True + return (0, remote_result.events) + + mock_pool.return_value.imap_unordered.return_value = unittest.mock.Mock( + next=fake_next + ) + pts.run(test_result) + + self.assertIn("ValueError: woops", test_result.errors[0][1]) |
