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

Side by Side Diff: ios/build/bots/scripts/run.py

Issue 2262733004: Add iOS device test runner (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Minor fixes Created 4 years, 3 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 | « no previous file | ios/build/bots/scripts/test_runner.py » ('j') | 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/python 1 #!/usr/bin/python
2 # Copyright 2016 The Chromium Authors. All rights reserved. 2 # Copyright 2016 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 """Run a test. 6 """Run a test.
7 7
8 Sample usage: 8 Sample usage:
9 ./run.py \ 9 ./run.py \
10 -a src/xcodebuild/Release-iphoneos/base_unittests.app \ 10 -a src/xcodebuild/Release-iphoneos/base_unittests.app \
(...skipping 15 matching lines...) Expand all
26 26
27 27
28 def main(args, test_args): 28 def main(args, test_args):
29 summary = {} 29 summary = {}
30 tr = None 30 tr = None
31 31
32 if not os.path.exists(args.out_dir): 32 if not os.path.exists(args.out_dir):
33 os.makedirs(args.out_dir) 33 os.makedirs(args.out_dir)
34 34
35 try: 35 try:
36 tr = test_runner.SimulatorTestRunner( 36 if args.iossim and args.platform and args.version:
37 args.app, 37 tr = test_runner.SimulatorTestRunner(
38 args.iossim, 38 args.app,
39 args.platform, 39 args.iossim,
40 args.version, 40 args.platform,
41 args.xcode_version, 41 args.version,
42 args.out_dir, 42 args.xcode_version,
43 test_args=test_args, 43 args.out_dir,
44 ) 44 env_vars=args.env_var,
45 test_args=test_args,
46 )
47 else:
48 tr = test_runner.DeviceTestRunner(
49 args.app,
50 args.xcode_version,
51 args.out_dir,
52 env_vars=args.env_var,
53 test_args=test_args,
54 )
45 55
46 return 0 if tr.launch() else 1 56 return 0 if tr.launch() else 1
47 except test_runner.TestRunnerError as e: 57 except test_runner.TestRunnerError as e:
48 sys.stderr.write(traceback.format_exc()) 58 sys.stderr.write(traceback.format_exc())
49 summary['step_text'] = '%s%s' % ( 59 summary['step_text'] = '%s%s' % (
50 e.__class__.__name__, ': %s' % e.args[0] if e.args else '') 60 e.__class__.__name__, ': %s' % e.args[0] if e.args else '')
51 61
52 # test_runner.Launch returns 0 on success, 1 on failure, so return 2 62 # test_runner.Launch returns 0 on success, 1 on failure, so return 2
53 # on exception to distinguish between a test failure, and a failure 63 # on exception to distinguish between a test failure, and a failure
54 # to launch the test at all. 64 # to launch the test at all.
(...skipping 10 matching lines...) Expand all
65 parser = argparse.ArgumentParser() 75 parser = argparse.ArgumentParser()
66 76
67 parser.add_argument( 77 parser.add_argument(
68 '-a', 78 '-a',
69 '--app', 79 '--app',
70 help='Compiled .app to run.', 80 help='Compiled .app to run.',
71 metavar='app', 81 metavar='app',
72 required=True, 82 required=True,
73 ) 83 )
74 parser.add_argument( 84 parser.add_argument(
85 '-e',
86 '--env-var',
87 action='append',
88 help='Environment variable to pass to the test itself.',
89 metavar='ENV=val',
90 )
91 parser.add_argument(
75 '-i', 92 '-i',
76 '--iossim', 93 '--iossim',
77 help='Compiled iossim to run the app on.', 94 help='Compiled iossim to run the app on.',
78 metavar='iossim', 95 metavar='iossim',
79 required=True,
80 ) 96 )
81 parser.add_argument( 97 parser.add_argument(
82 '-o', 98 '-o',
83 '--out-dir', 99 '--out-dir',
84 help='Directory to store all test data in.', 100 help='Directory to store all test data in.',
85 metavar='dir', 101 metavar='dir',
86 required=True, 102 required=True,
87 ) 103 )
88 parser.add_argument( 104 parser.add_argument(
89 '-p', 105 '-p',
90 '--platform', 106 '--platform',
91 help='Platform to simulate.', 107 help='Platform to simulate.',
92 metavar='sim', 108 metavar='sim',
93 required=True,
94 ) 109 )
95 parser.add_argument( 110 parser.add_argument(
96 '-v', 111 '-v',
97 '--version', 112 '--version',
98 help='Version of iOS the simulator should run.', 113 help='Version of iOS the simulator should run.',
99 metavar='ver', 114 metavar='ver',
100 required=True,
101 ) 115 )
102 parser.add_argument( 116 parser.add_argument(
103 '-x', 117 '-x',
104 '--xcode-version', 118 '--xcode-version',
105 help='Version of Xcode to use.', 119 help='Version of Xcode to use.',
106 metavar='ver', 120 metavar='ver',
107 required=True, 121 required=True,
108 ) 122 )
109 123
110 sys.exit(main(*parser.parse_known_args())) 124 args, test_args = parser.parse_known_args()
125 if args.iossim or args.platform or args.version:
126 # If any of --iossim, --platform, or --version
127 # are specified then they must all be specified.
128 if not (args.iossim and args.platform and args.version):
129 parser.error(
130 'must specify all or none of -i/--iossim, -p/--platform, -v/--version')
131
132 sys.exit(main(args, test_args))
OLDNEW
« no previous file with comments | « no previous file | ios/build/bots/scripts/test_runner.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698