| 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.")
|
|
|
|
|