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

Side by Side Diff: content/test/ct/run_ct_skps.py

Issue 1691023002: [CT] Use zips of SKPs to speed up "isolate tests" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Created 4 years, 10 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 unified diff | Download patch
« no previous file with comments | « chrome/ct_skps.isolate ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2015 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """This script is meant to be run on a Swarming bot.""" 6 """This script is meant to be run on a Swarming bot."""
7 7
8 import argparse 8 import argparse
9 import os 9 import os
10 import subprocess 10 import subprocess
11 import sys 11 import sys
12 import zipfile
12 13
13 14
14 PARENT_DIR = os.path.dirname(os.path.realpath(__file__)) 15 PARENT_DIR = os.path.dirname(os.path.realpath(__file__))
15 16
16 REPOS_BASE_DIR = os.path.normpath(os.path.join( 17 REPOS_BASE_DIR = os.path.normpath(os.path.join(
17 PARENT_DIR, os.pardir, os.pardir, os.pardir, os.pardir)) 18 PARENT_DIR, os.pardir, os.pardir, os.pardir, os.pardir))
18 19
19 SKIA_SRC_DIR = os.path.join(REPOS_BASE_DIR, 'skia') 20 SKIA_SRC_DIR = os.path.join(REPOS_BASE_DIR, 'skia')
20 21
21 22
22 def main(): 23 def main():
23 parser = argparse.ArgumentParser() 24 parser = argparse.ArgumentParser()
24 parser.add_argument('-s', '--slave_num', required=True, type=int, 25 parser.add_argument('-s', '--slave_num', required=True, type=int,
25 help='The slave num of this CT run.') 26 help='The slave num of this CT run.')
26 parser.add_argument('-t', '--tool', required=True, 27 parser.add_argument('-t', '--tool', required=True,
27 choices=['dm', 'nanobench'], 28 choices=['dm', 'nanobench'],
28 help='The tool to run on the SKPs.') 29 help='The tool to run on the SKPs.')
29 parser.add_argument('-g', '--git_hash', required=True, 30 parser.add_argument('-g', '--git_hash', required=True,
30 help='The Skia hash the tool was built at.') 31 help='The Skia hash the tool was built at.')
31 parser.add_argument('-c', '--configuration', required=True, 32 parser.add_argument('-c', '--configuration', required=True,
32 help='The build configuration to use.') 33 help='The build configuration to use.')
33 parser.add_argument('-i', '--isolated_outdir', required=True, 34 parser.add_argument('-i', '--isolated_outdir', required=True,
34 help='Swarming will automatically upload to ' 35 help='Swarming will automatically upload to '
35 'isolateserver all artifacts in this dir.') 36 'isolateserver all artifacts in this dir.')
36 args = parser.parse_args() 37 args = parser.parse_args()
37 38
39 # Unzip SKPs into a directory.
40 skps_zip = os.path.join(REPOS_BASE_DIR, 'skps',
41 'slave%d.zip' % args.slave_num)
42 skps_dir = os.path.join(REPOS_BASE_DIR, 'skps', 'slave%d' % args.slave_num)
43 os.makedirs(skps_dir)
44 with zipfile.ZipFile(skps_zip, 'r') as zip_ref:
45 zip_ref.extractall(skps_dir)
46
38 tool_path = os.path.join(SKIA_SRC_DIR, 'out', args.configuration, args.tool) 47 tool_path = os.path.join(SKIA_SRC_DIR, 'out', args.configuration, args.tool)
39 skps_dir = os.path.join(REPOS_BASE_DIR, 'skps', 'slave%d' % args.slave_num)
40 resource_path = os.path.join(SKIA_SRC_DIR, 'resources') 48 resource_path = os.path.join(SKIA_SRC_DIR, 'resources')
41 49
42 cmd = [tool_path] 50 cmd = [tool_path]
43 if args.tool == 'dm': 51 if args.tool == 'dm':
44 # Add DM specific arguments. 52 # Add DM specific arguments.
45 cmd.extend([ 53 cmd.extend([
46 '--src', 'skp', 54 '--src', 'skp',
47 '--skps', skps_dir, 55 '--skps', skps_dir,
48 '--resourcePath', resource_path, 56 '--resourcePath', resource_path,
49 '--config', '8888', 57 '--config', '8888',
(...skipping 14 matching lines...) Expand all
64 '--key', 'arch', 'x86_64', 'compiler', 'GCC', 'cpu_or_gpu', 'CPU', 72 '--key', 'arch', 'x86_64', 'compiler', 'GCC', 'cpu_or_gpu', 'CPU',
65 'cpu_or_gpu_value', 'AVX2', 'model', 'SWARM', 'os', 'Ubuntu', 73 'cpu_or_gpu_value', 'AVX2', 'model', 'SWARM', 'os', 'Ubuntu',
66 '--verbose', 74 '--verbose',
67 ]) 75 ])
68 76
69 return subprocess.call(cmd) 77 return subprocess.call(cmd)
70 78
71 79
72 if __name__ == '__main__': 80 if __name__ == '__main__':
73 sys.exit(main()) 81 sys.exit(main())
OLDNEW
« no previous file with comments | « chrome/ct_skps.isolate ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698