Index: third_party/WebKit/LayoutTests/imported/wpt/check_stability.py |
diff --git a/third_party/WebKit/LayoutTests/imported/wpt/check_stability.py b/third_party/WebKit/LayoutTests/imported/wpt/check_stability.py |
index e2ee9661bb9a17f25e443a2d2abe6aa31d5a0182..7b7072121587e0418508830768c854c487b4ebdf 100644 |
--- a/third_party/WebKit/LayoutTests/imported/wpt/check_stability.py |
+++ b/third_party/WebKit/LayoutTests/imported/wpt/check_stability.py |
@@ -1,3 +1,5 @@ |
+from __future__ import print_function |
+ |
import argparse |
import json |
import logging |
@@ -75,6 +77,17 @@ def setup_action_filter(): |
return self.inner(item) |
+class TravisFold(object): |
+ def __init__(self, name): |
+ self.name = name |
+ |
+ def __enter__(self): |
+ print("travis_fold:start:%s" % self.name, file=sys.stderr) |
+ |
+ def __exit__(self, type, value, traceback): |
+ print("travis_fold:end:%s" % self.name, file=sys.stderr) |
+ |
+ |
class GitHub(object): |
def __init__(self, org, repo, token): |
self.token = token |
@@ -498,68 +511,65 @@ def main(): |
logger.warning("Can't log to GitHub") |
gh_handler = None |
- print >> sys.stderr, "travis_fold:start:browser_setup" |
- logger.info("# %s #" % args.browser.title()) |
- |
- browser_cls = {"firefox": Firefox, |
- "chrome": Chrome}.get(args.browser) |
- if browser_cls is None: |
- logger.critical("Unrecognised browser %s" % args.browser) |
- return 1 |
+ with TravisFold("browser_setup"): |
+ logger.info("# %s #" % args.browser.title()) |
- fetch_wpt_master() |
+ browser_cls = {"firefox": Firefox, |
+ "chrome": Chrome}.get(args.browser) |
+ if browser_cls is None: |
+ logger.critical("Unrecognised browser %s" % args.browser) |
+ return 1 |
- head_sha1 = get_sha1() |
- logger.info("Testing revision %s" % head_sha1) |
+ fetch_wpt_master() |
- # For now just pass the whole list of changed files to wptrunner and |
- # assume that it will run everything that's actually a test |
- files_changed = get_files_changed() |
+ head_sha1 = get_sha1() |
+ logger.info("Testing revision %s" % head_sha1) |
- if not files_changed: |
- logger.info("No files changed") |
- return 0 |
+ # For now just pass the whole list of changed files to wptrunner and |
+ # assume that it will run everything that's actually a test |
+ files_changed = get_files_changed() |
- build_manifest() |
- install_wptrunner() |
- do_delayed_imports() |
+ if not files_changed: |
+ logger.info("No files changed") |
+ return 0 |
- logger.debug("Files changed:\n%s" % "".join(" * %s\n" % item for item in files_changed)) |
+ build_manifest() |
+ install_wptrunner() |
+ do_delayed_imports() |
- browser = browser_cls(args.gh_token) |
+ logger.debug("Files changed:\n%s" % "".join(" * %s\n" % item for item in files_changed)) |
- browser.install() |
- browser.install_webdriver() |
+ browser = browser_cls(args.gh_token) |
- kwargs = wptrunner_args(args.root, |
- files_changed, |
- args.iterations, |
- browser) |
+ browser.install() |
+ browser.install_webdriver() |
- print >> sys.stderr, "travis_fold:end:browser_setup" |
- print >> sys.stderr, "travis_fold:start:running_tests" |
- logger.info("Starting %i test iterations" % args.iterations) |
- with open("raw.log", "wb") as log: |
- wptrunner.setup_logging(kwargs, |
- {"raw": log}) |
- # Setup logging for wptrunner that keeps process output and |
- # warning+ level logs only |
- wptrunner.logger.add_handler( |
- LogActionFilter( |
- LogLevelFilter( |
- StreamHandler( |
- sys.stdout, |
- TbplFormatter() |
- ), |
- "WARNING"), |
- ["log", "process_output"])) |
+ kwargs = wptrunner_args(args.root, |
+ files_changed, |
+ args.iterations, |
+ browser) |
- wptrunner.run_tests(**kwargs) |
+ with TravisFold("running_tests"): |
+ logger.info("Starting %i test iterations" % args.iterations) |
+ with open("raw.log", "wb") as log: |
+ wptrunner.setup_logging(kwargs, |
+ {"raw": log}) |
+ # Setup logging for wptrunner that keeps process output and |
+ # warning+ level logs only |
+ wptrunner.logger.add_handler( |
+ LogActionFilter( |
+ LogLevelFilter( |
+ StreamHandler( |
+ sys.stdout, |
+ TbplFormatter() |
+ ), |
+ "WARNING"), |
+ ["log", "process_output"])) |
- with open("raw.log", "rb") as log: |
- results, inconsistent = process_results(log, args.iterations) |
+ wptrunner.run_tests(**kwargs) |
- print >> sys.stderr, "travis_fold:end:running_tests" |
+ with open("raw.log", "rb") as log: |
+ results, inconsistent = process_results(log, args.iterations) |
if results: |
if inconsistent: |
@@ -567,9 +577,8 @@ def main(): |
retcode = 2 |
else: |
logger.info("All results were stable\n") |
- print >> sys.stderr, "travis_fold:start:full_results" |
- write_results(results, args.iterations, args.comment_pr) |
- print >> sys.stderr, "travis_fold:end:full_results" |
+ with TravisFold("full_results"): |
+ write_results(results, args.iterations, args.comment_pr) |
else: |
logger.info("No tests run.") |