|
11 | 11 | from queue import Empty |
12 | 12 | from typing import Collection |
13 | 13 |
|
14 | | -from twisted.scripts.trial import Options, _getSuite |
15 | | -from twisted.trial.runner import TrialRunner |
16 | | - |
17 | 14 | from django.conf import settings |
18 | 15 |
|
19 | 16 | from django.test.runner import DiscoverRunner |
20 | 17 | from django.db import connections, DEFAULT_DB_ALIAS |
21 | 18 | from django.core.exceptions import ImproperlyConfigured |
22 | 19 |
|
23 | | -from .base import setup_test_db |
24 | 20 |
|
25 | 21 | # "auto" - one worker per Django application |
26 | 22 | # "cpu" - one worker per process core |
@@ -286,12 +282,7 @@ def pop_item(): |
286 | 282 | results_queue.put((group, result)) |
287 | 283 | logger.debug(f"Worker {index} has finished running tests {tests}") |
288 | 284 | except (KeyboardInterrupt, SystemExit): |
289 | | - if isinstance(self, TwistedParallelTestSuiteRunner): |
290 | | - # Twisted raises KeyboardInterrupt when the tests |
291 | | - # have completed |
292 | | - pass |
293 | | - else: |
294 | | - raise |
| 285 | + raise |
295 | 286 | except Exception as e: |
296 | 287 | logger.debug(f"Running tests failed, reason: {e}") |
297 | 288 | result = TestResult().from_exception(e) |
@@ -517,60 +508,6 @@ def __init__(self, verbosity=2, failfast=True, **kwargs): |
517 | 508 | super().__init__(stream=stream, verbosity=verbosity, failfast=failfast) |
518 | 509 |
|
519 | 510 |
|
520 | | -class TwistedParallelTestSuiteRunner(ParallelTestSuiteRunner): |
521 | | - def __init__(self, config, verbosity=1, interactive=False, failfast=True, **kwargs): |
522 | | - self.config = config |
523 | | - super().__init__(verbosity, interactive, failfast, **kwargs) |
524 | | - |
525 | | - def run_tests(self, test_labels, extra_tests=None, **kwargs): |
526 | | - app_tests = self._group_by_app(test_labels) |
527 | | - return self._run_tests(tests=app_tests) |
528 | | - |
529 | | - def run_suite(self): |
530 | | - # config = self.config |
531 | | - tests = self.config.opts["tests"] |
532 | | - |
533 | | - tests = self._group_by_file(tests) |
534 | | - self._run_tests(tests=tests) |
535 | | - |
536 | | - def _tests_func(self, tests, worker_index): |
537 | | - if not isinstance(tests, (list, set)): |
538 | | - tests = [tests] |
539 | | - |
540 | | - args = ["-e"] |
541 | | - args.extend(tests) |
542 | | - |
543 | | - config = Options() |
544 | | - config.parseOptions(args) |
545 | | - |
546 | | - stream = BufferWritesDevice() |
547 | | - runner = self._make_runner(config=config, stream=stream) |
548 | | - suite = _getSuite(config) |
549 | | - result = setup_test_db(worker_index, None, runner.run, suite) |
550 | | - result = TestResult().from_trial_result(result) |
551 | | - return result |
552 | | - |
553 | | - def _make_runner(self, config, stream): |
554 | | - # Based on twisted.scripts.trial._makeRunner |
555 | | - mode = None |
556 | | - if config["debug"]: |
557 | | - mode = TrialRunner.DEBUG |
558 | | - if config["dry-run"]: |
559 | | - mode = TrialRunner.DRY_RUN |
560 | | - return TrialRunner( |
561 | | - config["reporter"], |
562 | | - mode=mode, |
563 | | - stream=stream, |
564 | | - profile=config["profile"], |
565 | | - logfile=config["logfile"], |
566 | | - tracebackFormat=config["tbformat"], |
567 | | - realTimeErrors=config["rterrors"], |
568 | | - uncleanWarnings=config["unclean-warnings"], |
569 | | - workingDirectory=config["temp-directory"], |
570 | | - forceGarbageCollection=config["force-gc"], |
571 | | - ) |
572 | | - |
573 | | - |
574 | 511 | class TestResult: |
575 | 512 | dots = False |
576 | 513 | errors = None |
|
0 commit comments