def _create_fuzzer(self, rng, options): return fuzzer.FuzzerProc( rng, self._tests_count(options), self._create_fuzzer_configs(options), self._disable_analysis(options), )
def _do_execute(self, suites, args, options): print(">>> Running tests for %s.%s" % (self.build_config.arch, self.mode_name)) ctx = self._create_context(options) tests = self._load_tests(options, suites, ctx) progress_indicator = progress.IndicatorNotifier() progress_indicator.Register( progress.PROGRESS_INDICATORS[options.progress]()) if options.json_test_results: progress_indicator.Register(progress.JsonTestProgressIndicator( options.json_test_results, self.build_config.arch, self.mode_options.execution_mode, ctx.random_seed)) loader = LoadProc() fuzzer_rng = random.Random(options.fuzzer_random_seed) fuzzer_proc = fuzzer.FuzzerProc( fuzzer_rng, options.tests_count, self._create_fuzzer_configs(options), options.total_timeout_sec, ) results = ResultsTracker() execproc = ExecutionProc(options.j, ctx) indicators = progress_indicator.ToProgressIndicatorProcs() procs = [ loader, NameFilterProc(args) if args else None, StatusFileFilterProc(None, None), self._create_shard_proc(options), fuzzer_proc, ] + indicators + [ results, self._create_rerun_proc(options), execproc, ] self._prepare_procs(procs) loader.load_tests(tests) execproc.start() for indicator in indicators: indicator.finished() print '>>> %d tests ran' % results.total if results.failed: print '>>> %d tests failed' % results.failed if results.failed: return 1 if results.remaining: return 2 return 0
def _create_fuzzer(self, rng, options): if options.combine_tests: count = 1 disable_analysis = True else: count = options.tests_count disable_analysis = False return fuzzer.FuzzerProc( rng, count, self._create_fuzzer_configs(options), disable_analysis, )