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

Side by Side Diff: build/android/buildbot/bb_device_steps.py

Issue 410033002: Run android tests through runtest.py. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added generate-json-file option Created 6 years, 5 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 | 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) 2013 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2013 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 import collections 6 import collections
7 import glob 7 import glob
8 import hashlib 8 import hashlib
9 import json 9 import json
10 import os 10 import os
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 89
90 Returns: 90 Returns:
91 The revision number. 91 The revision number.
92 """ 92 """
93 revision = options.build_properties.get('got_revision') 93 revision = options.build_properties.get('got_revision')
94 if not revision: 94 if not revision:
95 revision = options.build_properties.get('revision', 'testing') 95 revision = options.build_properties.get('revision', 'testing')
96 return revision 96 return revision
97 97
98 98
99 def _RunTest(options, cmd, suite):
100 """Run test command with runtest.py.
101
102 Args:
103 options: options object.
104 cmd: the command to run.
105 suite: test name.
106 """
107 property_args = bb_utils.EncodeProperties(options)
108 args = [os.path.join(SLAVE_SCRIPTS_DIR, 'runtest.py'),
109 '--no-xvfb',
jbudorick 2014/07/23 14:23:12 style nit: continuation lines should be indented 4
qyearsley 2014/07/23 18:56:38 Note: Passing --no-xvfb appears to have no effect
zty 2014/07/23 19:53:21 Acknowledged.
zty 2014/07/23 19:53:22 Acknowledged.
110 '--test-type',
111 suite,
112 '--run-python-script'
113 ] + property_args
jbudorick 2014/07/23 14:23:12 style: this should be indented
114 if options.factory_properties.get('generate_gtest_json'):
115 args.append('--generate-json-file')
116
117 if options.target == 'Release':
118 args += ['--target', 'Release']
119 args += cmd
120 RunCmd(args)
121
122
99 def RunTestSuites(options, suites, suites_options=None): 123 def RunTestSuites(options, suites, suites_options=None):
100 """Manages an invocation of test_runner.py for gtests. 124 """Manages an invocation of test_runner.py for gtests.
101 125
102 Args: 126 Args:
103 options: options object. 127 options: options object.
104 suites: List of suite names to run. 128 suites: List of suite names to run.
105 suites_options: Command line options dictionary for particular suites. 129 suites_options: Command line options dictionary for particular suites.
106 For example, 130 For example,
107 {'content_browsertests', ['--num_retries=1', '--release']} 131 {'content_browsertests', ['--num_retries=1', '--release']}
108 will add the options only to content_browsertests. 132 will add the options only to content_browsertests.
109 """ 133 """
110 134
111 if not suites_options: 135 if not suites_options:
112 suites_options = {} 136 suites_options = {}
113 137
114 args = ['--verbose'] 138 args = ['--verbose']
115 if options.target == 'Release': 139 if options.target == 'Release':
116 args.append('--release') 140 args.append('--release')
117 if options.asan: 141 if options.asan:
118 args.append('--tool=asan') 142 args.append('--tool=asan')
119 if options.gtest_filter: 143 if options.gtest_filter:
120 args.append('--gtest-filter=%s' % options.gtest_filter) 144 args.append('--gtest-filter=%s' % options.gtest_filter)
121 145
122 for suite in suites: 146 for suite in suites:
123 bb_annotations.PrintNamedStep(suite) 147 bb_annotations.PrintNamedStep(suite)
124 cmd = ['build/android/test_runner.py', 'gtest', '-s', suite] + args 148 cmd = ['build/android/test_runner.py', 'gtest', '-s', suite] + args
jbudorick 2014/07/23 14:23:12 This seems to be partially duplicated in _MainAndr
zty 2014/07/23 19:53:22 Notice here we use --run-python-script, which make
125 cmd += suites_options.get(suite, []) 149 cmd += suites_options.get(suite, [])
126 if suite == 'content_browsertests': 150 if suite == 'content_browsertests':
127 cmd.append('--num_retries=1') 151 cmd.append('--num_retries=1')
128 RunCmd(cmd) 152 _RunTest(options, cmd, suite)
129 153
130 154
131 def RunChromeDriverTests(options): 155 def RunChromeDriverTests(options):
132 """Run all the steps for running chromedriver tests.""" 156 """Run all the steps for running chromedriver tests."""
133 bb_annotations.PrintNamedStep('chromedriver_annotation') 157 bb_annotations.PrintNamedStep('chromedriver_annotation')
134 RunCmd(['chrome/test/chromedriver/run_buildbot_steps.py', 158 RunCmd(['chrome/test/chromedriver/run_buildbot_steps.py',
135 '--android-packages=%s,%s,%s,%s' % 159 '--android-packages=%s,%s,%s,%s' %
136 ('chrome_shell', 160 ('chrome_shell',
137 'chrome_stable', 161 'chrome_stable',
138 'chrome_beta', 162 'chrome_beta',
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 713
690 if options.coverage_bucket: 714 if options.coverage_bucket:
691 setattr(options, 'coverage_dir', 715 setattr(options, 'coverage_dir',
692 os.path.join(CHROME_OUT_DIR, options.target, 'coverage')) 716 os.path.join(CHROME_OUT_DIR, options.target, 'coverage'))
693 717
694 MainTestWrapper(options) 718 MainTestWrapper(options)
695 719
696 720
697 if __name__ == '__main__': 721 if __name__ == '__main__':
698 sys.exit(main(sys.argv)) 722 sys.exit(main(sys.argv))
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698