Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env 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 """Script to generate chromium.gpu.json and chromium.gpu.fyi.json in | 6 """Script to generate chromium.gpu.json and chromium.gpu.fyi.json in |
| 7 the src/testing/buildbot directory. Maintaining these files by hand is | 7 the src/testing/buildbot directory. Maintaining these files by hand is |
| 8 too unwieldy. | 8 too unwieldy. |
| 9 """ | 9 """ |
| 10 | 10 |
| (...skipping 1452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1463 ], | 1463 ], |
| 1464 # Don't run these tests on Android. | 1464 # Don't run these tests on Android. |
| 1465 'disabled_tester_configs': [ | 1465 'disabled_tester_configs': [ |
| 1466 { | 1466 { |
| 1467 'names': [ | 1467 'names': [ |
| 1468 'Linux ChromiumOS Ozone (Intel)', | 1468 'Linux ChromiumOS Ozone (Intel)', |
| 1469 ], | 1469 ], |
| 1470 'os_types': ['android'], | 1470 'os_types': ['android'], |
| 1471 }, | 1471 }, |
| 1472 ], | 1472 ], |
| 1473 'args': [ | |
| 1474 '--enable-gpu', | |
| 1475 '--test-launcher-bot-mode', | |
| 1476 '--test-launcher-jobs=1', | |
| 1477 '--gtest_filter=CastStreamingApiTestWithPixelOutput.EndToEnd*:' + \ | |
| 1478 'TabCaptureApiPixelTest.EndToEnd*' | |
| 1479 ], | |
| 1480 'linux_args': [ '--no-xvfb' ], | |
| 1481 'test': 'browser_tests', | |
| 1473 }, | 1482 }, |
| 1474 'video_decode_accelerator_d3d11_unittest': { | 1483 'video_decode_accelerator_d3d11_unittest': { |
| 1475 'tester_configs': [ | 1484 'tester_configs': [ |
| 1476 { | 1485 { |
| 1477 'os_types': ['win'] | 1486 'os_types': ['win'] |
| 1478 }, | 1487 }, |
| 1479 ], | 1488 ], |
| 1480 'args': [ | 1489 'args': [ |
| 1481 '--use-angle=d3d11', | 1490 '--use-angle=d3d11', |
| 1482 '--use-test-data-path', | 1491 '--use-test-data-path', |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1540 { | 1549 { |
| 1541 'names': [ | 1550 'names': [ |
| 1542 'Linux ChromiumOS Ozone (Intel)', | 1551 'Linux ChromiumOS Ozone (Intel)', |
| 1543 ], | 1552 ], |
| 1544 'os_types': ['android'], | 1553 'os_types': ['android'], |
| 1545 }, | 1554 }, |
| 1546 ], | 1555 ], |
| 1547 'test': 'browser_tests', | 1556 'test': 'browser_tests', |
| 1548 'args': [ | 1557 'args': [ |
| 1549 '--enable-gpu', | 1558 '--enable-gpu', |
| 1559 '--no-xvfb', | |
| 1550 '--test-launcher-jobs=1', | 1560 '--test-launcher-jobs=1', |
| 1551 '--gtest_filter=CastStreamingApiTestWithPixelOutput.EndToEnd*:' + \ | 1561 '--gtest_filter=CastStreamingApiTestWithPixelOutput.EndToEnd*:' + \ |
| 1552 'TabCaptureApiPixelTest.EndToEnd*' | 1562 'TabCaptureApiPixelTest.EndToEnd*' |
| 1553 ], | 1563 ], |
| 1554 'swarming': { | 1564 'swarming': { |
| 1555 'can_use_on_swarming_builders': False, | 1565 'can_use_on_swarming_builders': False, |
| 1556 }, | 1566 }, |
| 1557 } | 1567 } |
| 1558 } | 1568 } |
| 1559 | 1569 |
| (...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2079 def matches_swarming_dimensions(tester_config, dimension_sets): | 2089 def matches_swarming_dimensions(tester_config, dimension_sets): |
| 2080 for dimensions in dimension_sets: | 2090 for dimensions in dimension_sets: |
| 2081 for cur_dims in tester_config['swarming_dimensions']: | 2091 for cur_dims in tester_config['swarming_dimensions']: |
| 2082 if set(dimensions.items()).issubset(cur_dims.items()): | 2092 if set(dimensions.items()).issubset(cur_dims.items()): |
| 2083 return True | 2093 return True |
| 2084 return False | 2094 return False |
| 2085 | 2095 |
| 2086 def is_android(tester_config): | 2096 def is_android(tester_config): |
| 2087 return tester_config['os_type'] == 'android' | 2097 return tester_config['os_type'] == 'android' |
| 2088 | 2098 |
| 2099 def is_linux(tester_config): | |
| 2100 return tester_config['os_type'] == 'linux' | |
| 2101 | |
| 2089 def is_asan(tester_config): | 2102 def is_asan(tester_config): |
| 2090 return tester_config.get('is_asan', False) | 2103 return tester_config.get('is_asan', False) |
| 2091 | 2104 |
| 2092 | 2105 |
| 2093 # Returns a list describing the type of this tester. It may include | 2106 # Returns a list describing the type of this tester. It may include |
| 2094 # both the type of the bot as well as the waterfall. | 2107 # both the type of the bot as well as the waterfall. |
| 2095 def get_tester_type(tester_config): | 2108 def get_tester_type(tester_config): |
| 2096 result = [] | 2109 result = [] |
| 2097 if 'type' in tester_config: | 2110 if 'type' in tester_config: |
| 2098 result.append(tester_config['type']) | 2111 result.append(tester_config['type']) |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2193 { | 2206 { |
| 2194 'link': [ | 2207 'link': [ |
| 2195 'https://luci-logdog.appspot.com/v/?s', | 2208 'https://luci-logdog.appspot.com/v/?s', |
| 2196 '=android%2Fswarming%2Flogcats%2F', | 2209 '=android%2Fswarming%2Flogcats%2F', |
| 2197 '${TASK_ID}%2F%2B%2Funified_logcats' | 2210 '${TASK_ID}%2F%2B%2Funified_logcats' |
| 2198 ], | 2211 ], |
| 2199 'name': 'shard #${SHARD_INDEX} logcats' | 2212 'name': 'shard #${SHARD_INDEX} logcats' |
| 2200 } | 2213 } |
| 2201 ] | 2214 ] |
| 2202 }) | 2215 }) |
| 2203 if 'desktop_args' in result: | 2216 |
| 2204 if not is_android(tester_config): | 2217 def add_conditional_args(key, fn): |
| 2205 if not 'args' in result: | 2218 if key in result: |
| 2206 result['args'] = [] | 2219 if fn(tester_config): |
| 2207 result['args'] += result['desktop_args'] | 2220 if not 'args' in result: |
| 2208 # Don't put the desktop args in the JSON. | 2221 result['args'] = [] |
| 2209 result.pop('desktop_args') | 2222 result['args'] += result[key] |
| 2210 if 'android_args' in result: | 2223 # Don't put the conditional args in the JSON. |
| 2211 if is_android(tester_config): | 2224 result.pop(key) |
|
Ken Russell (switch to Gerrit)
2017/04/26 00:55:44
Nice cleanup. Thanks.
| |
| 2212 if not 'args' in result: | 2225 |
| 2213 result['args'] = [] | 2226 add_conditional_args('desktop_args', lambda cfg: not is_android(cfg)) |
| 2214 result['args'] += result['android_args'] | 2227 add_conditional_args('linux_args', is_linux) |
| 2215 # Don't put the android args in the JSON. | 2228 add_conditional_args('android_args', is_android) |
| 2216 result.pop('android_args') | 2229 |
| 2217 if 'desktop_swarming' in result: | 2230 if 'desktop_swarming' in result: |
| 2218 if not is_android(tester_config): | 2231 if not is_android(tester_config): |
| 2219 result['swarming'].update(result['desktop_swarming']) | 2232 result['swarming'].update(result['desktop_swarming']) |
| 2220 # Don't put the desktop_swarming in the JSON. | 2233 # Don't put the desktop_swarming in the JSON. |
| 2221 result.pop('desktop_swarming') | 2234 result.pop('desktop_swarming') |
| 2222 # Remove the tester_configs and disabled_tester_configs, if present, | 2235 # Remove the tester_configs and disabled_tester_configs, if present, |
| 2223 # from the result. | 2236 # from the result. |
| 2224 remove_tester_configs_from_result(result) | 2237 remove_tester_configs_from_result(result) |
| 2225 | 2238 |
| 2226 # This flag only has an effect on the Linux bots that run tests | 2239 # This flag only has an effect on the Linux bots that run tests |
| (...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2378 install_parent_links(WATERFALL) | 2391 install_parent_links(WATERFALL) |
| 2379 install_parent_links(V8_FYI_WATERFALL) | 2392 install_parent_links(V8_FYI_WATERFALL) |
| 2380 | 2393 |
| 2381 generate_all_tests(FYI_WATERFALL, 'chromium.gpu.fyi.json') | 2394 generate_all_tests(FYI_WATERFALL, 'chromium.gpu.fyi.json') |
| 2382 generate_all_tests(WATERFALL, 'chromium.gpu.json') | 2395 generate_all_tests(WATERFALL, 'chromium.gpu.json') |
| 2383 generate_all_tests(V8_FYI_WATERFALL, 'client.v8.fyi.json') | 2396 generate_all_tests(V8_FYI_WATERFALL, 'client.v8.fyi.json') |
| 2384 return 0 | 2397 return 0 |
| 2385 | 2398 |
| 2386 if __name__ == "__main__": | 2399 if __name__ == "__main__": |
| 2387 sys.exit(main()) | 2400 sys.exit(main()) |
| OLD | NEW |