diff options
author | Paweł Hajdan, Jr <phajdan.jr@chromium.org> | 2014-10-29 14:08:30 +0100 |
---|---|---|
committer | Paweł Hajdan, Jr <phajdan.jr@chromium.org> | 2014-10-29 13:09:27 +0000 |
commit | 5647b45161456e01e6cec6ec63e96f870fe506cb (patch) | |
tree | 4e49553ea6bfc53151963d172f9cd89b6bb3ef81 | |
parent | 2846183299cea462a13feb71d30083a0758ec92c (diff) | |
download | chromium_src-5647b45161456e01e6cec6ec63e96f870fe506cb.zip chromium_src-5647b45161456e01e6cec6ec63e96f870fe506cb.tar.gz chromium_src-5647b45161456e01e6cec6ec63e96f870fe506cb.tar.bz2 |
Add src-side launcher for telemetry_perf_unittests
Also enable it on "Linux Tests" builder.
BUG=422235
R=sergiyb@chromium.org
Review URL: https://codereview.chromium.org/691493002
Cr-Commit-Position: refs/heads/master@{#301822}
-rw-r--r-- | testing/buildbot/chromium.linux.json | 4 | ||||
-rw-r--r-- | testing/scripts/common.py | 16 | ||||
-rwxr-xr-x | testing/scripts/telemetry_perf_unittests.py | 54 | ||||
-rwxr-xr-x | testing/scripts/telemetry_unittests.py | 12 |
4 files changed, 75 insertions, 11 deletions
diff --git a/testing/buildbot/chromium.linux.json b/testing/buildbot/chromium.linux.json index e0db1ad..559ceec 100644 --- a/testing/buildbot/chromium.linux.json +++ b/testing/buildbot/chromium.linux.json @@ -97,6 +97,10 @@ { "name": "telemetry_unittests", "script": "telemetry_unittests.py" + }, + { + "name": "telemetry_perf_unittests", + "script": "telemetry_perf_unittests.py" } ] }, diff --git a/testing/scripts/common.py b/testing/scripts/common.py index 47e7fb7..1afbe6b 100644 --- a/testing/scripts/common.py +++ b/testing/scripts/common.py @@ -7,6 +7,7 @@ import contextlib import json import os import subprocess +import sys import tempfile @@ -55,6 +56,21 @@ def run_command(argv): return rc +def run_runtest(cmd_args, runtest_args): + return run_command([ + sys.executable, + os.path.join(cmd_args.paths['build'], 'scripts', 'tools', 'runit.py'), + '--show-path', + sys.executable, + os.path.join(cmd_args.paths['build'], 'scripts', 'slave', 'runtest.py'), + '--target', cmd_args.build_config_fs, + '--xvfb', + '--builder-name', cmd_args.properties['buildername'], + '--slave-name', cmd_args.properties['slavename'], + '--build-number', str(cmd_args.properties['buildnumber']), + ] + runtest_args) + + @contextlib.contextmanager def temporary_file(): fd, path = tempfile.mkstemp() diff --git a/testing/scripts/telemetry_perf_unittests.py b/testing/scripts/telemetry_perf_unittests.py new file mode 100755 index 0000000..42eb656 --- /dev/null +++ b/testing/scripts/telemetry_perf_unittests.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +import json +import os +import sys + + +import common + + +def main_run(args): + filter_tests = [] + if args.filter_file: + filter_tests = json.load(args.filter_file) + + with common.temporary_file() as tempfile_path: + rc = common.run_runtest(args, [ + '--annotate', 'gtest', + '--test-type', 'telemetry_perf_unittests', + '--run-python-script', + os.path.join(common.SRC_DIR, 'tools', 'perf', 'run_tests'), + '--browser', args.build_config_fs.lower(), + '--retry-limit', '3', + '--write-full-results-to', tempfile_path, + ] + filter_tests) + + with open(tempfile_path) as f: + results = json.load(f) + + parsed_results = common.parse_common_test_results(results, test_separator='.') + failures = parsed_results['unexpected_failures'] + + json.dump({ + 'valid': bool(rc <= common.MAX_FAILURES_EXIT_STATUS and + ((rc == 0) or failures)), + 'failures': failures.keys(), + }, args.output) + + return rc + + +def main_compile_targets(args): + json.dump(['chrome'], args.output) + + +if __name__ == '__main__': + funcs = { + 'run': main_run, + 'compile_targets': main_compile_targets, + } + sys.exit(common.run_script(sys.argv[1:], funcs)) diff --git a/testing/scripts/telemetry_unittests.py b/testing/scripts/telemetry_unittests.py index 2c68063..50af0c0 100755 --- a/testing/scripts/telemetry_unittests.py +++ b/testing/scripts/telemetry_unittests.py @@ -17,19 +17,9 @@ def main_run(args): filter_tests = json.load(args.filter_file) with common.temporary_file() as tempfile_path: - rc = common.run_command([ - sys.executable, - os.path.join(args.paths['build'], 'scripts', 'tools', 'runit.py'), - '--show-path', - sys.executable, - os.path.join(args.paths['build'], 'scripts', 'slave', 'runtest.py'), - '--target', args.build_config_fs, - '--xvfb', + rc = common.run_runtest(args, [ '--annotate', 'gtest', '--test-type', 'telemetry_unittests', - '--builder-name', args.properties['buildername'], - '--slave-name', args.properties['slavename'], - '--build-number', str(args.properties['buildnumber']), '--run-python-script', os.path.join(common.SRC_DIR, 'tools', 'telemetry', 'run_tests'), '--browser', args.build_config_fs.lower(), |