Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 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 """Runs the WebDriver Java acceptance tests. | 6 """Runs the WebDriver Java acceptance tests. |
| 7 | 7 |
| 8 This script is called from chrome/test/chromedriver/run_all_tests.py and reports | 8 This script is called from chrome/test/chromedriver/run_all_tests.py and reports |
| 9 results using the buildbot annotation scheme. | 9 results using the buildbot annotation scheme. |
| 10 | 10 |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 233 parser.add_option( | 233 parser.add_option( |
| 234 '', '--chrome-version', default='HEAD', | 234 '', '--chrome-version', default='HEAD', |
| 235 help='Version of chrome. Default is \'HEAD\'') | 235 help='Version of chrome. Default is \'HEAD\'') |
| 236 parser.add_option( | 236 parser.add_option( |
| 237 '', '--android-package', type='string', default=None, | 237 '', '--android-package', type='string', default=None, |
| 238 help='Name of Chrome\'s Android package') | 238 help='Name of Chrome\'s Android package') |
| 239 parser.add_option( | 239 parser.add_option( |
| 240 '', '--filter', type='string', default=None, | 240 '', '--filter', type='string', default=None, |
| 241 help='Filter for specifying what tests to run, "*" will run all. E.g., ' | 241 help='Filter for specifying what tests to run, "*" will run all. E.g., ' |
| 242 '*testShouldReturnTitleOfPageIfSet') | 242 '*testShouldReturnTitleOfPageIfSet') |
| 243 parser.add_option( | |
| 244 '', '--relaunch', action='store_true', default=False, | |
|
frankf
2013/04/16 23:21:35
this could be better name. Some suggestions:
run_
| |
| 245 help='Relaunch the jar test harness after each test') | |
| 243 options, args = parser.parse_args() | 246 options, args = parser.parse_args() |
| 244 | 247 |
| 245 if options.chromedriver is None or not os.path.exists(options.chromedriver): | 248 if options.chromedriver is None or not os.path.exists(options.chromedriver): |
| 246 parser.error('chromedriver is required or the given path is invalid.' + | 249 parser.error('chromedriver is required or the given path is invalid.' + |
| 247 'Please run "%s --help" for help' % __file__) | 250 'Please run "%s --help" for help' % __file__) |
| 248 | 251 |
| 249 if options.android_package is not None: | 252 if options.android_package is not None: |
| 250 if options.chrome_version != 'HEAD': | 253 if options.chrome_version != 'HEAD': |
| 251 parser.error('Android does not support the --chrome-version argument.') | 254 parser.error('Android does not support the --chrome-version argument.') |
| 252 environment = test_environment.AndroidTestEnvironment() | 255 environment = test_environment.AndroidTestEnvironment() |
| 253 else: | 256 else: |
| 254 environment = test_environment.DesktopTestEnvironment( | 257 environment = test_environment.DesktopTestEnvironment( |
| 255 options.chrome_version) | 258 options.chrome_version) |
| 256 | 259 |
| 257 try: | 260 try: |
| 258 environment.GlobalSetUp() | 261 environment.GlobalSetUp() |
| 259 # Run passed tests when filter is not provided. | 262 # Run passed tests when filter is not provided. |
| 260 test_filter = options.filter | 263 if options.filter is None: |
|
frankf
2013/04/16 23:21:35
negate the conditional:
if options.filter:
| |
| 261 if test_filter is None: | 264 if options.relaunch: |
| 262 test_filter = environment.GetPassedJavaTestFilter() | 265 test_filters = environment.GetPassedJavaTests() |
| 266 else: | |
| 267 test_filters = [environment.GetPassedJavaTestFilter()] | |
| 268 else: | |
| 269 test_filters = [options.filter] | |
| 263 | 270 |
| 264 java_tests_src_dir = os.path.join(chrome_paths.GetSrc(), 'chrome', 'test', | 271 java_tests_src_dir = os.path.join(chrome_paths.GetSrc(), 'chrome', 'test', |
| 265 'chromedriver', 'third_party', | 272 'chromedriver', 'third_party', |
| 266 'java_tests') | 273 'java_tests') |
| 267 if (not os.path.exists(java_tests_src_dir) or | 274 if (not os.path.exists(java_tests_src_dir) or |
| 268 not os.listdir(java_tests_src_dir)): | 275 not os.listdir(java_tests_src_dir)): |
| 269 print ('"%s" is empty or it doesn\'t exist.' % java_tests_src_dir + | 276 print ('"%s" is empty or it doesn\'t exist.' % java_tests_src_dir + |
| 270 'Should add "deps/third_party/webdriver" to source checkout config') | 277 'Should add "deps/third_party/webdriver" to source checkout config') |
| 271 return 1 | 278 return 1 |
| 272 | 279 |
| 273 return PrintTestResults(_Run( | 280 results = [] |
| 274 java_tests_src_dir=java_tests_src_dir, | 281 for filter in test_filters: |
| 275 test_filter=test_filter, | 282 results += _Run( |
| 276 chromedriver_path=options.chromedriver, | 283 java_tests_src_dir=java_tests_src_dir, |
| 277 chrome_path=options.chrome, | 284 test_filter=filter, |
| 278 android_package=options.android_package, | 285 chromedriver_path=options.chromedriver, |
| 279 verbose=options.verbose, | 286 chrome_path=options.chrome, |
| 280 debug=options.debug)) | 287 android_package=options.android_package, |
| 288 verbose=options.verbose, | |
| 289 debug=options.debug) | |
| 290 return PrintTestResults(results) | |
| 281 finally: | 291 finally: |
| 282 environment.GlobalTearDown() | 292 environment.GlobalTearDown() |
| 283 | 293 |
| 284 | 294 |
| 285 if __name__ == '__main__': | 295 if __name__ == '__main__': |
| 286 sys.exit(main()) | 296 sys.exit(main()) |
| OLD | NEW |