| 24 | |
| 25 | class TestResults: |
| 26 | def __init__(self) -> None: |
| 27 | self.bad: TestList = [] |
| 28 | self.good: TestList = [] |
| 29 | self.rerun_bad: TestList = [] |
| 30 | self.skipped: TestList = [] |
| 31 | self.resource_denied: TestList = [] |
| 32 | self.env_changed: TestList = [] |
| 33 | self.run_no_tests: TestList = [] |
| 34 | self.rerun: TestList = [] |
| 35 | self.rerun_results: list[TestResult] = [] |
| 36 | |
| 37 | self.interrupted: bool = False |
| 38 | self.worker_bug: bool = False |
| 39 | self.test_times: list[tuple[float, TestName]] = [] |
| 40 | self.stats = TestStats() |
| 41 | # used by --junit-xml |
| 42 | self.testsuite_xml: list['Element'] = [] |
| 43 | # used by -T with -j |
| 44 | self.covered_lines: set[Location] = set() |
| 45 | |
| 46 | def is_all_good(self) -> bool: |
| 47 | return (not self.bad |