| 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 |
| 11 import copy | 11 import copy |
| 12 import json | 12 import json |
| 13 import os | 13 import os |
| 14 import string | 14 import string |
| 15 import sys | 15 import sys |
| 16 | 16 |
| 17 THIS_DIR = os.path.dirname(os.path.abspath(__file__)) | 17 THIS_DIR = os.path.dirname(os.path.abspath(__file__)) |
| 18 SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname(THIS_DIR))) | 18 SRC_DIR = os.path.dirname(os.path.dirname(os.path.dirname(THIS_DIR))) |
| 19 | 19 |
| 20 WATERFALL = { | 20 WATERFALL = { |
| 21 'builders': [ | 21 'builders': { |
| 22 'GPU Win Builder', | 22 'GPU Win Builder' : {}, |
| 23 'GPU Win Builder (dbg)', | 23 'GPU Win Builder (dbg)' : {}, |
| 24 'GPU Mac Builder', | 24 'GPU Mac Builder' : {}, |
| 25 'GPU Mac Builder (dbg)', | 25 'GPU Mac Builder (dbg)' : {}, |
| 26 'GPU Linux Builder', | 26 'GPU Linux Builder' : {}, |
| 27 'GPU Linux Builder (dbg)', | 27 'GPU Linux Builder (dbg)' : {}, |
| 28 ], | 28 }, |
| 29 | 29 |
| 30 'testers': { | 30 'testers': { |
| 31 'Win7 Release (NVIDIA)': { | 31 'Win7 Release (NVIDIA)': { |
| 32 'swarming_dimensions': [ | 32 'swarming_dimensions': [ |
| 33 { | 33 { |
| 34 'gpu': '10de:104a', | 34 'gpu': '10de:104a', |
| 35 'os': 'Windows-2008ServerR2-SP1' | 35 'os': 'Windows-2008ServerR2-SP1' |
| 36 }, | 36 }, |
| 37 ], | 37 ], |
| 38 'build_config': 'Release', | 38 'build_config': 'Release', |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 }, | 115 }, |
| 116 ], | 116 ], |
| 117 'build_config': 'Debug', | 117 'build_config': 'Debug', |
| 118 'swarming': True, | 118 'swarming': True, |
| 119 'os_type': 'linux', | 119 'os_type': 'linux', |
| 120 }, | 120 }, |
| 121 } | 121 } |
| 122 } | 122 } |
| 123 | 123 |
| 124 FYI_WATERFALL = { | 124 FYI_WATERFALL = { |
| 125 'builders': [ | 125 'builders': { |
| 126 'GPU Win Builder', | 126 'GPU Win Builder' : {}, |
| 127 'GPU Win Builder (dbg)', | 127 'GPU Win Builder (dbg)' : {}, |
| 128 'GPU Win x64 Builder', | 128 'GPU Win x64 Builder' : {}, |
| 129 'GPU Win x64 Builder (dbg)', | 129 'GPU Win x64 Builder (dbg)' : {}, |
| 130 'GPU Mac Builder', | 130 'GPU Mac Builder' : {}, |
| 131 'GPU Mac Builder (dbg)', | 131 'GPU Mac Builder (dbg)' : {}, |
| 132 'GPU Linux Builder', | 132 'GPU Linux Builder' : {}, |
| 133 'GPU Linux Builder (dbg)', | 133 'GPU Linux Builder (dbg)' : {}, |
| 134 'Linux ChromiumOS Builder', | 134 'Linux ChromiumOS Builder' : { |
| 135 ], | 135 'additional_compile_targets' : [ "All" ] |
| 136 }, |
| 137 }, |
| 136 | 138 |
| 137 'testers': { | 139 'testers': { |
| 138 'Win7 Release (NVIDIA)': { | 140 'Win7 Release (NVIDIA)': { |
| 139 'swarming_dimensions': [ | 141 'swarming_dimensions': [ |
| 140 { | 142 { |
| 141 'gpu': '10de:104a', | 143 'gpu': '10de:104a', |
| 142 'os': 'Windows-2008ServerR2-SP1' | 144 'os': 'Windows-2008ServerR2-SP1' |
| 143 }, | 145 }, |
| 144 ], | 146 ], |
| 145 'build_config': 'Release', | 147 'build_config': 'Release', |
| (...skipping 1261 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1407 for test_name, test_config in sorted(test_dictionary.iteritems()): | 1409 for test_name, test_config in sorted(test_dictionary.iteritems()): |
| 1408 test = generate_telemetry_test( | 1410 test = generate_telemetry_test( |
| 1409 tester_name, tester_config, test_name, test_config, is_fyi, | 1411 tester_name, tester_config, test_name, test_config, is_fyi, |
| 1410 use_gpu_integration_test_harness) | 1412 use_gpu_integration_test_harness) |
| 1411 if test: | 1413 if test: |
| 1412 isolated_scripts.append(test) | 1414 isolated_scripts.append(test) |
| 1413 return isolated_scripts | 1415 return isolated_scripts |
| 1414 | 1416 |
| 1415 def generate_all_tests(waterfall, is_fyi): | 1417 def generate_all_tests(waterfall, is_fyi): |
| 1416 tests = {} | 1418 tests = {} |
| 1417 for builder in waterfall['builders']: | 1419 for builder, config in waterfall['builders'].iteritems(): |
| 1418 tests[builder] = {} | 1420 tests[builder] = config |
| 1419 for name, config in waterfall['testers'].iteritems(): | 1421 for name, config in waterfall['testers'].iteritems(): |
| 1420 gtests = generate_gtests(name, config, COMMON_GTESTS, is_fyi) | 1422 gtests = generate_gtests(name, config, COMMON_GTESTS, is_fyi) |
| 1421 isolated_scripts = \ | 1423 isolated_scripts = \ |
| 1422 generate_telemetry_tests(name, config, TELEMETRY_TESTS, is_fyi, False) + \ | 1424 generate_telemetry_tests(name, config, TELEMETRY_TESTS, is_fyi, False) + \ |
| 1423 generate_telemetry_tests(name, config, TELEMETRY_GPU_INTEGRATION_TESTS, | 1425 generate_telemetry_tests(name, config, TELEMETRY_GPU_INTEGRATION_TESTS, |
| 1424 is_fyi, True) | 1426 is_fyi, True) |
| 1425 tests[name] = { | 1427 tests[name] = { |
| 1426 'gtest_tests': sorted(gtests, key=lambda x: x['test']), | 1428 'gtest_tests': sorted(gtests, key=lambda x: x['test']), |
| 1427 'isolated_scripts': sorted(isolated_scripts, key=lambda x: x['name']) | 1429 'isolated_scripts': sorted(isolated_scripts, key=lambda x: x['name']) |
| 1428 } | 1430 } |
| 1429 tests['AAAAA1 AUTOGENERATED FILE DO NOT EDIT'] = {} | 1431 tests['AAAAA1 AUTOGENERATED FILE DO NOT EDIT'] = {} |
| 1430 tests['AAAAA2 See generate_buildbot_json.py to make changes'] = {} | 1432 tests['AAAAA2 See generate_buildbot_json.py to make changes'] = {} |
| 1431 filename = 'chromium.gpu.fyi.json' if is_fyi else 'chromium.gpu.json' | 1433 filename = 'chromium.gpu.fyi.json' if is_fyi else 'chromium.gpu.json' |
| 1432 with open(os.path.join(SRC_DIR, 'testing', 'buildbot', filename), 'w') as fp: | 1434 with open(os.path.join(SRC_DIR, 'testing', 'buildbot', filename), 'w') as fp: |
| 1433 json.dump(tests, fp, indent=2, separators=(',', ': '), sort_keys=True) | 1435 json.dump(tests, fp, indent=2, separators=(',', ': '), sort_keys=True) |
| 1434 fp.write('\n') | 1436 fp.write('\n') |
| 1435 | 1437 |
| 1436 def main(): | 1438 def main(): |
| 1437 generate_all_tests(FYI_WATERFALL, True) | 1439 generate_all_tests(FYI_WATERFALL, True) |
| 1438 generate_all_tests(WATERFALL, False) | 1440 generate_all_tests(WATERFALL, False) |
| 1439 return 0 | 1441 return 0 |
| 1440 | 1442 |
| 1441 if __name__ == "__main__": | 1443 if __name__ == "__main__": |
| 1442 sys.exit(main()) | 1444 sys.exit(main()) |
| OLD | NEW |