MCPcopy Create free account
hub / github.com/nodejs/node / _do_execute

Method _do_execute

deps/v8/tools/testrunner/num_fuzzer.py:171–217  ·  view source on GitHub ↗
(self, tests, args, ctx)

Source from the content-addressed store, hash-verified

169 return config
170
171 def _do_execute(self, tests, args, ctx):
172 loader = LoadProc(tests)
173 combiner = CombinerProc.create(self.options)
174 results = ResultsTracker.create(self.options)
175 execproc = ExecutionProc(ctx, self.options.j)
176 sigproc = self._create_signal_proc()
177 progress = ProgressProc(ctx, self.options, tests.test_count_estimate)
178 procs = [
179 loader,
180 NameFilterProc(args) if args else None,
181 StatusFileFilterProc(None, None),
182 FuzzRareTestFilterProc(self.options.fuzzer_rng(),
183 self.options.skip_rare_tests_prob),
184 # TODO(majeski): Improve sharding when combiner is present. Maybe select
185 # different random seeds for shards instead of splitting tests.
186 ShardProc.create(self.options),
187 ExpectationProc(),
188 combiner,
189 fuzzer.FuzzerProc.create(self.options),
190 sigproc,
191 progress,
192 results,
193 TimeoutProc.create(self.options),
194 RerunProc.create(self.options),
195 execproc,
196 ]
197 procs = [p for p in procs if p]
198
199 self._prepare_procs(procs)
200 loader.load_initial_tests()
201
202 # TODO(majeski): maybe some notification from loader would be better?
203 if combiner:
204 combiner.generate_initial_tests(self.options.j * 4)
205
206 # This starts up worker processes and blocks until all tests are
207 # processed.
208 execproc.run()
209
210 progress.finished()
211
212 print('>>> %d tests ran' % results.total)
213 if results.failed:
214 return utils.EXIT_CODE_FAILURES
215
216 # Indicate if a SIGINT or SIGTERM happened.
217 return sigproc.exit_code
218
219 def _is_testsuite_supported(self, suite):
220 return not self.options.combine_tests or suite.test_combiner_available()

Callers

nothing calls this directly

Calls 15

load_initial_testsMethod · 0.95
runMethod · 0.95
finishedMethod · 0.95
LoadProcClass · 0.90
ExecutionProcClass · 0.90
ProgressProcClass · 0.90
NameFilterProcClass · 0.90
ExpectationProcClass · 0.90
_create_signal_procMethod · 0.80
fuzzer_rngMethod · 0.80

Tested by

no test coverage detected