From be581ff473e8ade6365975db2df602f295a4cb4b Mon Sep 17 00:00:00 2001 From: Shubham Singh Date: Fri, 12 Sep 2025 14:32:35 -0500 Subject: Fixed #36491 -- Fixed crash in ParallelTestRunner with --buffer. Thanks Javier Buzzi and Adam Johnson for reviews. Co-authored-by: Simon Charette --- tests/test_runner/test_parallel.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'tests') 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]) -- cgit v1.3