From ef92ed530e685ea022c172f1765279a54130bd6e Mon Sep 17 00:00:00 2001 From: Chris Jerdonek Date: Tue, 2 Aug 2016 11:15:06 -0700 Subject: [PATCH] Fixed #26980 -- Added ParallelTestSuite.runner_class to aid subclassing. --- django/test/runner.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/django/test/runner.py b/django/test/runner.py index c60f5e8a72..cd9229606d 100644 --- a/django/test/runner.py +++ b/django/test/runner.py @@ -257,8 +257,8 @@ def _run_subsuite(args): This helper lives at module-level and its arguments are wrapped in a tuple because of the multiprocessing module's requirements. """ - subsuite_index, subsuite, failfast = args - runner = RemoteTestRunner(failfast=failfast) + runner_class, subsuite_index, subsuite, failfast = args + runner = runner_class(failfast=failfast) result = runner.run(subsuite) return subsuite_index, result.events @@ -282,6 +282,7 @@ class ParallelTestSuite(unittest.TestSuite): # In case someone wants to modify these in a subclass. init_worker = _init_worker run_subsuite = _run_subsuite + runner_class = RemoteTestRunner def __init__(self, suite, processes, failfast=False): self.subsuites = partition_suite_by_case(suite) @@ -313,7 +314,7 @@ class ParallelTestSuite(unittest.TestSuite): initializer=self.init_worker.__func__, initargs=[counter]) args = [ - (index, subsuite, self.failfast) + (self.runner_class, index, subsuite, self.failfast) for index, subsuite in enumerate(self.subsuites) ] test_results = pool.imap_unordered(self.run_subsuite.__func__, args)