| 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 2ea2ad35cdc685e0b4268811e49e7d1dd984ad72..12d01d2c11fcf153e1610e994c7910aee8c5b901 100644
|
| --- a/tools/telemetry/telemetry/page/page_runner.py
|
| +++ b/tools/telemetry/telemetry/page/page_runner.py
|
| @@ -247,7 +247,6 @@ def _PrepareAndRunPage(test, page_set, expectations, finder_options,
|
| tries -= 1
|
| try:
|
| results_for_current_run = copy.copy(results)
|
| - results_for_current_run.StartTest(page)
|
| if test.RestartBrowserBeforeEachPage() or page.startup_url:
|
| state.StopBrowser()
|
| # If we are restarting the browser for each page customize the per page
|
| @@ -258,7 +257,6 @@ def _PrepareAndRunPage(test, page_set, expectations, finder_options,
|
| if not page.CanRunOnBrowser(browser_info.BrowserInfo(state.browser)):
|
| logging.info('Skip test for page %s because browser is not supported.'
|
| % page.url)
|
| - results_for_current_run.StopTest(page)
|
| return results
|
|
|
| expectation = expectations.GetExpectationForPage(state.browser, page)
|
| @@ -286,8 +284,6 @@ def _PrepareAndRunPage(test, page_set, expectations, finder_options,
|
| if (test.StopBrowserAfterPage(state.browser, page)):
|
| state.StopBrowser()
|
|
|
| - results_for_current_run.StopTest(page)
|
| -
|
| if state.first_page[page]:
|
| state.first_page[page] = False
|
| if test.discard_first_result:
|
| @@ -393,8 +389,10 @@ def Run(test, page_set, expectations, finder_options):
|
|
|
| for page in list(pages):
|
| if not test.CanRunForPage(page):
|
| + results.StartTest(page)
|
| logging.debug('Skipping test: it cannot run for %s', page.url)
|
| results.AddSkip(page, 'Test cannot run')
|
| + results.StopTest(page)
|
| pages.remove(page)
|
|
|
| if not pages:
|
| @@ -414,10 +412,14 @@ def Run(test, page_set, expectations, finder_options):
|
| state.repeat_state.WillRunPage()
|
| test.WillRunPageRepeats(page)
|
| while state.repeat_state.ShouldRepeatPage():
|
| - results = _PrepareAndRunPage(
|
| - test, page_set, expectations, finder_options, browser_options,
|
| - page, credentials_path, possible_browser, results, state)
|
| - state.repeat_state.DidRunPage()
|
| + results.StartTest(page)
|
| + try:
|
| + results = _PrepareAndRunPage(
|
| + test, page_set, expectations, finder_options, browser_options,
|
| + page, credentials_path, possible_browser, results, state)
|
| + finally:
|
| + state.repeat_state.DidRunPage()
|
| + results.StopTest(page)
|
| test.DidRunPageRepeats(page)
|
| if (not test.max_failures is None and
|
| len(results.failures) > test.max_failures):
|
|
|