| Index: testing/scripts/telemetry_unittests.py
|
| diff --git a/testing/scripts/telemetry_unittests.py b/testing/scripts/telemetry_unittests.py
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..129304eac08ff9eb954da9896425084c9e555a38
|
| --- /dev/null
|
| +++ b/testing/scripts/telemetry_unittests.py
|
| @@ -0,0 +1,63 @@
|
| +#!/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_command([
|
| + sys.executable,
|
| + os.path.join(args.paths['build'], 'scripts', 'tools', 'runit.py'),
|
| + '--show-path',
|
| + os.path.join(args.paths['build'], 'scripts', 'slave', 'runtest.py'),
|
| + '--target', args.build_config_fs,
|
| + '--xvfb',
|
| + '--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(),
|
| + '--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)
|
| + 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))
|
|
|