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 """A tool to run a chrome test executable, used by the buildbot slaves. | 6 """A tool to run a chrome test executable, used by the buildbot slaves. |
| 7 | 7 |
| 8 When this is run, the current directory (cwd) should be the outer build | 8 When this is run, the current directory (cwd) should be the outer build |
| 9 directory (e.g., chrome-release/build/). | 9 directory (e.g., chrome-release/build/). |
| 10 | 10 |
| (...skipping 1142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1153 help='Use default virtual X server on Linux.') | 1153 help='Use default virtual X server on Linux.') |
| 1154 option_parser.add_option('', '--auto-special-xvfb', action='store_const', | 1154 option_parser.add_option('', '--auto-special-xvfb', action='store_const', |
| 1155 const='auto', dest='special_xvfb', | 1155 const='auto', dest='special_xvfb', |
| 1156 help='Guess as to virtual X server on Linux.') | 1156 help='Guess as to virtual X server on Linux.') |
| 1157 option_parser.add_option('', '--xvfb', action='store_true', dest='xvfb', | 1157 option_parser.add_option('', '--xvfb', action='store_true', dest='xvfb', |
| 1158 default=True, | 1158 default=True, |
| 1159 help='Start virtual X server on Linux.') | 1159 help='Start virtual X server on Linux.') |
| 1160 option_parser.add_option('', '--no-xvfb', action='store_false', dest='xvfb', | 1160 option_parser.add_option('', '--no-xvfb', action='store_false', dest='xvfb', |
| 1161 help='Do not start virtual X server on Linux.') | 1161 help='Do not start virtual X server on Linux.') |
| 1162 option_parser.add_option('', '--sharding-args', dest='sharding_args', | 1162 option_parser.add_option('', '--sharding-args', dest='sharding_args', |
| 1163 default=None, | 1163 default='', |
| 1164 help='Options to pass to sharding_supervisor.') | 1164 help='Options to pass to sharding_supervisor.') |
| 1165 option_parser.add_option('-o', '--results-directory', default='', | 1165 option_parser.add_option('-o', '--results-directory', default='', |
| 1166 help='output results directory for JSON file.') | 1166 help='output results directory for JSON file.') |
| 1167 option_parser.add_option('', '--builder-name', default=None, | 1167 option_parser.add_option('', '--builder-name', default=None, |
| 1168 help='The name of the builder running this script.') | 1168 help='The name of the builder running this script.') |
| 1169 option_parser.add_option('', '--build-number', default=None, | 1169 option_parser.add_option('', '--build-number', default=None, |
| 1170 help=('The build number of the builder running' | 1170 help=('The build number of the builder running' |
| 1171 'this script.')) | 1171 'this script.')) |
| 1172 option_parser.add_option('', '--test-type', default='', | 1172 option_parser.add_option('', '--test-type', default='', |
| 1173 help='The test name that identifies the test, ' | 1173 help='The test name that identifies the test, ' |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1223 'content_browsertests', | 1223 'content_browsertests', |
| 1224 'interactive_ui_tests', | 1224 'interactive_ui_tests', |
| 1225 'net_unittests', | 1225 'net_unittests', |
| 1226 'unit_tests', | 1226 'unit_tests', |
| 1227 ] | 1227 ] |
| 1228 options.enable_lsan = (options.enable_lsan or | 1228 options.enable_lsan = (options.enable_lsan or |
| 1229 (options.factory_properties.get('lsan', False) and | 1229 (options.factory_properties.get('lsan', False) and |
| 1230 (options.factory_properties.get('lsan_run_all_tests', False) or | 1230 (options.factory_properties.get('lsan_run_all_tests', False) or |
| 1231 args[0] not in lsan_blacklist))) | 1231 args[0] not in lsan_blacklist))) |
| 1232 | 1232 |
| 1233 if (options.factory_properties.get('asan', False)): | 1233 if options.factory_properties.get('asan', False): |
| 1234 options.extra_sharding_args += ' --verbose' | 1234 options.extra_sharding_args += ' --verbose' |
| 1235 if options.factory_properties.get('tsan', False): | |
| 1236 # Print ThreadSanitizer reports. | |
| 1237 options.extra_sharding_args += ' --verbose' | |
| 1238 # Data races may be flaky, but we don't want to restart the test if there's | |
| 1239 # been a race report. | |
| 1240 options.sharding_args += '--retries 0' | |
|
M-A Ruel
2013/09/13 15:24:05
' --retries 0'
Alexander Potapenko
2013/09/13 15:26:20
Done.
| |
| 1235 | 1241 |
| 1236 if (options.factory_properties.get('asan', False) or | 1242 if (options.factory_properties.get('asan', False) or |
| 1237 options.factory_properties.get('tsan', False) or options.enable_lsan): | 1243 options.factory_properties.get('tsan', False) or options.enable_lsan): |
| 1238 # Instruct GTK to use malloc while running ASan, TSan or LSan tests. | 1244 # Instruct GTK to use malloc while running ASan, TSan or LSan tests. |
| 1239 os.environ['G_SLICE'] = 'always-malloc' | 1245 os.environ['G_SLICE'] = 'always-malloc' |
| 1240 os.environ['NSS_DISABLE_ARENA_FREE_LIST'] = '1' | 1246 os.environ['NSS_DISABLE_ARENA_FREE_LIST'] = '1' |
| 1241 os.environ['NSS_DISABLE_UNLOAD'] = '1' | 1247 os.environ['NSS_DISABLE_UNLOAD'] = '1' |
| 1242 | 1248 |
| 1243 # TODO(glider): remove the symbolizer path once | 1249 # TODO(glider): remove the symbolizer path once |
| 1244 # https://code.google.com/p/address-sanitizer/issues/detail?id=134 is fixed. | 1250 # https://code.google.com/p/address-sanitizer/issues/detail?id=134 is fixed. |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1328 '%d new files were left in %s: Fix the tests to clean up themselves.' | 1334 '%d new files were left in %s: Fix the tests to clean up themselves.' |
| 1329 ) % ((new_temp_files - temp_files), tempfile.gettempdir()) | 1335 ) % ((new_temp_files - temp_files), tempfile.gettempdir()) |
| 1330 # TODO(maruel): Make it an error soon. Not yet since I want to iron out all | 1336 # TODO(maruel): Make it an error soon. Not yet since I want to iron out all |
| 1331 # the remaining cases before. | 1337 # the remaining cases before. |
| 1332 #result = 1 | 1338 #result = 1 |
| 1333 return result | 1339 return result |
| 1334 | 1340 |
| 1335 | 1341 |
| 1336 if '__main__' == __name__: | 1342 if '__main__' == __name__: |
| 1337 sys.exit(main()) | 1343 sys.exit(main()) |
| OLD | NEW |