(self, tests, args, ctx)
| 282 | return ExpectationProc() if self.framework_name == 'num_fuzzer' else None |
| 283 | |
| 284 | def _do_execute(self, tests, args, ctx): |
| 285 | jobs = self.options.j |
| 286 | |
| 287 | print('>>> Running with test processors') |
| 288 | loader = LoadProc(tests, initial_batch_size=self.options.j * 2) |
| 289 | results = ResultsTracker.create(self.options) |
| 290 | outproc_factory = None |
| 291 | if self.build_config.verify_predictable: |
| 292 | outproc_factory = predictable.get_outproc |
| 293 | execproc = ExecutionProc(ctx, jobs, outproc_factory) |
| 294 | sigproc = self._create_signal_proc() |
| 295 | progress = ProgressProc(ctx, self.options, tests.test_count_estimate) |
| 296 | procs = [ |
| 297 | loader, |
| 298 | NameFilterProc(args) if args else None, |
| 299 | VariantProc(self._variants), |
| 300 | StatusFileFilterProc(self.options.slow_tests, |
| 301 | self.options.pass_fail_tests), |
| 302 | self._create_predictable_filter(), |
| 303 | ShardProc.create(self.options), |
| 304 | self._create_expectation_proc(), |
| 305 | self._create_seed_proc(), |
| 306 | self._create_sequence_proc(), |
| 307 | sigproc, |
| 308 | progress, |
| 309 | results, |
| 310 | TimeoutProc.create(self.options), |
| 311 | RerunProc.create(self.options), |
| 312 | execproc, |
| 313 | ] |
| 314 | procs = [p for p in procs if p] |
| 315 | |
| 316 | self._prepare_procs(procs) |
| 317 | loader.load_initial_tests() |
| 318 | |
| 319 | # This starts up worker processes and blocks until all tests are |
| 320 | # processed. |
| 321 | requirement = max(p._requirement for p in procs) |
| 322 | execproc.run(requirement) |
| 323 | |
| 324 | progress.finished() |
| 325 | |
| 326 | results.standard_show(tests) |
| 327 | |
| 328 | |
| 329 | if self.options.time: |
| 330 | self._print_durations() |
| 331 | |
| 332 | return sigproc.worst_exit_code(results) |
| 333 | |
| 334 | def _print_durations(self): |
| 335 |
nothing calls this directly
no test coverage detected