Lines Matching refs:suite

11 The suite json format is expected to be:
15 "name": <optional suite name, file name is default>,
16 "archs": [<architecture name for which this suite is run>, ...],
20 "run_count": <how often will this suite run (optional)>,
21 "run_count_XXX": <how often will this suite run for arch XXX (optional)>,
43 The tests field can also nest other suites in arbitrary depth. A suite
44 with a "main" file is a leaf suite that can contain one more level of
47 A suite's results_regexp is expected to have one string place holder
48 "%s" for the trace name. A trace's results_regexp overwrites suite
51 A suite's results_processor may point to an optional python script. If
53 suite level's path). It is expected to read the measurement's output text
58 A suite without "tests" is considered a performance test itself.
60 Full example (suite with one runner):
80 Full example (suite with several runners):
101 Path pieces are concatenated. D8 is always run with the suite's path as cwd.
276 # We assume the results processor is relative to the suite.
292 """Represents a node in the suite tree structure."""
327 """Represents a suite definition.
331 def __init__(self, suite, parent, arch):
333 self._suite = suite
335 assert isinstance(suite.get('path', []), list)
336 assert isinstance(suite.get('owners', []), list)
337 assert isinstance(suite['name'], str)
338 assert isinstance(suite.get('flags', []), list)
339 assert isinstance(suite.get('test_flags', []), list)
340 assert isinstance(suite.get('resources', []), list)
343 self.path = parent.path[:] + suite.get('path', [])
344 self.graphs = parent.graphs[:] + [suite['name']]
345 self.flags = parent.flags[:] + suite.get('flags', [])
346 self.test_flags = parent.test_flags[:] + suite.get('test_flags', [])
347 self.owners = parent.owners[:] + suite.get('owners', [])
350 self.resources = suite.get('resources', [])
353 self.binary = suite.get('binary', parent.binary)
354 self.run_count = suite.get('run_count', parent.run_count)
355 self.run_count = suite.get('run_count_%s' % arch, self.run_count)
356 self.retry_count = suite.get('retry_count', parent.retry_count)
357 self.retry_count = suite.get('retry_count_%s' % arch, self.retry_count)
358 self.timeout = suite.get('timeout', parent.timeout)
359 self.timeout = suite.get('timeout_%s' % arch, self.timeout)
360 self.units = suite.get('units', parent.units)
361 self.total = suite.get('total', parent.total)
362 self.results_processor = suite.get(
364 self.process_size = suite.get('process_size', parent.process_size)
367 # regexp and the current suite has none, a string place holder for the
368 # suite name is expected.
372 regexp_default = parent.results_regexp % re.escape(suite['name'])
375 self.results_regexp = suite.get('results_regexp', regexp_default)
379 stddev_default = parent.stddev_regexp % re.escape(suite['name'])
382 self.stddev_regexp = suite.get('stddev_regexp', stddev_default)
390 """Represents a leaf in the suite tree structure."""
391 def __init__(self, suite, parent, arch):
392 super(TraceConfig, self).__init__(suite, parent, arch)
439 """Represents a runnable suite definition (i.e. has a main file).
441 def __init__(self, suite, parent, arch):
442 super(RunnableConfig, self).__init__(suite, parent, arch)
452 The tests are supposed to be relative to the suite configuration.
516 """Represents a runnable suite definition that is a leaf."""
517 def __init__(self, suite, parent, arch):
518 super(RunnableTraceConfig, self).__init__(suite, parent, arch)
525 def MakeGraphConfig(suite, arch, parent):
529 return TraceConfig(suite, parent, arch)
530 elif suite.get('main') is not None:
532 if suite.get('tests'):
534 return RunnableConfig(suite, parent, arch)
537 return RunnableTraceConfig(suite, parent, arch)
538 elif suite.get('tests'):
540 return GraphConfig(suite, parent, arch)
542 raise Exception('Invalid suite configuration.')
545 def BuildGraphConfigs(suite, arch, parent):
546 """Builds a tree structure of graph objects that corresponds to the suite
551 if arch not in suite.get('archs', SUPPORTED_ARCHS):
554 graph = MakeGraphConfig(suite, arch, parent)
555 for subsuite in suite.get('tests', []):
573 raise Exception('Invalid suite configuration.')
951 'for shorter completion time of suite, with potentially '
957 'benchmarks from the JSTests suite.',
978 'suite. The default 0 uses the suite\'s config.')
981 parser.add_argument('suite', nargs='+', help='Path to the suite config file.')
1037 args.suite = list(map(os.path.abspath, args.suite))
1048 for path in args.suite:
1054 suite = json.loads(f.read())
1057 suite.setdefault('name', os.path.splitext(os.path.basename(path))[0])
1059 # Setup things common to one test suite.
1064 root = BuildGraphConfigs(suite, args.arch, default_parent)
1078 logging.info('>>> Running suite: %s', runnable_name)
1120 logging.info('>>> Retrying suite: %s', runnable_name)