| Index: tools/telemetry/telemetry/page/page_runner.py
|
| diff --git a/tools/telemetry/telemetry/page/page_runner.py b/tools/telemetry/telemetry/page/page_runner.py
|
| index d96ce45b62d3c599352d9096cc9adc799d6dd74a..9b55958f79d7a26e85dfa529773152c08d8577b2 100644
|
| --- a/tools/telemetry/telemetry/page/page_runner.py
|
| +++ b/tools/telemetry/telemetry/page/page_runner.py
|
| @@ -205,6 +205,10 @@ def AddCommandLineArgs(parser):
|
| 'before proceeding with the next page in the pageset.')
|
| group.add_option('--pageset-repeat', default=1, type='int',
|
| help='Number of times to repeat the entire pageset.')
|
| + group.add_option('--max-failures', default=None, type='int',
|
| + help='Maximum number of test failures before aborting '
|
| + 'the run. Defaults to the number specified by the '
|
| + 'PageTest.')
|
| parser.add_option_group(group)
|
|
|
| # WPR options
|
| @@ -402,6 +406,13 @@ def Run(test, page_set, expectations, finder_options, results):
|
| state = _RunState()
|
| # TODO(dtu): Move results creation and results_for_current_run into RunState.
|
|
|
| + max_failures = None
|
| + if not test.max_failures is None:
|
| + max_failures = test.max_failures
|
| + if not finder_options.max_failures is None:
|
| + # Support overriding this from the command line.
|
| + max_failures = finder_options.max_failures
|
| +
|
| try:
|
| test.WillRunTest(finder_options)
|
| for _ in xrange(0, finder_options.pageset_repeat):
|
| @@ -424,8 +435,8 @@ def Run(test, page_set, expectations, finder_options, results):
|
| discard_run = True
|
| results.DidRunPage(page, discard_run=discard_run)
|
| test.DidRunPageRepeats(page)
|
| - if (not test.max_failures is None and
|
| - len(results.failures) > test.max_failures):
|
| + if (not max_failures is None and
|
| + len(results.failures) > max_failures):
|
| logging.error('Too many failures. Aborting.')
|
| test.RequestExit()
|
|
|
|
|