(self, *test_labels, **options)
| 52 | test_runner_class.add_arguments(parser) |
| 53 | |
| 54 | def handle(self, *test_labels, **options): |
| 55 | TestRunner = get_runner(settings, options["testrunner"]) |
| 56 | |
| 57 | time_keeper = TimeKeeper() if options.get("timing", False) else NullTimeKeeper() |
| 58 | parallel = options.get("parallel") |
| 59 | if parallel == "auto": |
| 60 | options["parallel"] = get_max_test_processes() |
| 61 | test_runner = TestRunner(**options) |
| 62 | with time_keeper.timed("Total run"): |
| 63 | failures = test_runner.run_tests(test_labels) |
| 64 | time_keeper.print_results() |
| 65 | if failures: |
| 66 | sys.exit(1) |
nothing calls this directly
no test coverage detected