Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(197)

Unified Diff: tools/telemetry/telemetry/page/page_runner.py

Issue 16158006: Defining the test expectations object (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 23558750986a3b36b7a25e96ae3905e67c479eec..24342c795c8c915a6a547d2ef1fe959a5c01a3b6 100644
--- a/tools/telemetry/telemetry/page/page_runner.py
+++ b/tools/telemetry/telemetry/page/page_runner.py
@@ -138,7 +138,7 @@ def AddCommandLineOptions(parser):
page_filter_module.PageFilter.AddCommandLineOptions(parser)
-def Run(test, page_set, options):
+def Run(test, page_set, expectations, options):
"""Runs a given test against a given page_set with the given options."""
results = test.PrepareResults(options)
@@ -198,8 +198,12 @@ def Run(test, page_set, options):
if options.profiler:
state.StartProfiling(page, options)
+ expectation = expectations.GetExpectationForPage(
+ state.browser.platform, page)
+
try:
- _RunPage(test, page, state.tab, results_for_current_run, options)
+ _RunPage(test, page, state.tab, expectation,
+ results_for_current_run, options)
_CheckThermalThrottling(state.browser.platform)
except exceptions.TabCrashException:
stack_trace = state.browser.GetStackTrace()
@@ -309,7 +313,7 @@ def _CheckArchives(page_set, pages, results):
pages_missing_archive_path + pages_missing_archive_data]
-def _RunPage(test, page, tab, results, options):
+def _RunPage(test, page, tab, expectation, results, options):
if not test.CanRunForPage(page):
logging.warning('Skipping test: it cannot run for %s', page.url)
results.AddSkip(page, 'Test cannot run')
@@ -325,7 +329,11 @@ def _RunPage(test, page, tab, results, options):
util.CloseConnections(tab)
except page_test.Failure:
logging.warning('%s:\n%s', page.url, traceback.format_exc())
- results.AddFailure(page, sys.exc_info())
+ if expectation == 'fail':
+ logging.info('Failure was expected\n')
+ results.AddSuccess(page)
+ else:
+ results.AddFailure(page, sys.exc_info())
except (util.TimeoutException, exceptions.LoginException):
logging.error('%s:\n%s', page.url, traceback.format_exc())
results.AddError(page, sys.exc_info())
@@ -337,6 +345,8 @@ def _RunPage(test, page, tab, results, options):
except Exception:
raise
else:
+ if expectation == 'fail':
+ logging.warning('%s was expected to fail, but passed.\n', page.url)
results.AddSuccess(page)
finally:
page_state.CleanUpPage(page, tab)

Powered by Google App Engine
This is Rietveld 408576698