Execute tests and collect results.
(self, args: argparse.Namespace)
| 155 | return cmd |
| 156 | |
| 157 | def run_tests(self, args: argparse.Namespace) -> TestSuiteReport: |
| 158 | """Execute tests and collect results.""" |
| 159 | start_time = time.time() |
| 160 | |
| 161 | cmd = self.build_pytest_command(args) |
| 162 | |
| 163 | print(f"Running: {' '.join(cmd)}") |
| 164 | print(f"Working directory: {self.project_root}") |
| 165 | |
| 166 | # Execute tests |
| 167 | result = subprocess.run( |
| 168 | cmd, |
| 169 | cwd=self.project_root, |
| 170 | capture_output=True, |
| 171 | text=True |
| 172 | ) |
| 173 | |
| 174 | end_time = time.time() |
| 175 | total_duration = end_time - start_time |
| 176 | |
| 177 | # Parse results |
| 178 | return self.parse_test_results(result, total_duration, args) |
| 179 | |
| 180 | def parse_test_results(self, result: subprocess.CompletedProcess, |
| 181 | total_duration: float, args: argparse.Namespace) -> TestSuiteReport: |
no test coverage detected