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): |