Commit 1b767095 authored by Dirk Pranke's avatar Dirk Pranke Committed by Commit Bot

Auto-generate //testing/buildbot/chromium.json.

This CL converts the chromium waterfall config to be
auto-generated using the new generate_buildbot_json framework.

R=kbr@chromium.org, jbudorick@chromium.org
BUG=662541

Change-Id: I56c403369b4e0811fe604930d8da97048d434eda
Reviewed-on: https://chromium-review.googlesource.com/809958Reviewed-by: default avatarJohn Budorick <jbudorick@chromium.org>
Reviewed-by: default avatarKenneth Russell <kbr@chromium.org>
Commit-Queue: Dirk Pranke <dpranke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522339}
parent fb511e62
{ {
"AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
"AAAAA2 See generate_buildbot_json.py to make changes": {},
"Linux x64": { "Linux x64": {
"additional_compile_targets": [ "additional_compile_targets": [
"all" "all"
......
...@@ -309,7 +309,8 @@ class BBJSONGenerator(object): ...@@ -309,7 +309,8 @@ class BBJSONGenerator(object):
test = self.dictionary_merge(test, modifications) test = self.dictionary_merge(test, modifications)
for k in self.get_test_key_removals(test_name, tester_name): for k in self.get_test_key_removals(test_name, tester_name):
del test[k] del test[k]
self.clean_swarming_dictionary(test['swarming']) if 'swarming' in test:
self.clean_swarming_dictionary(test['swarming'])
return test return test
def generate_gtest(self, waterfall, tester_name, tester_config, test_name, def generate_gtest(self, waterfall, tester_name, tester_config, test_name,
...@@ -378,6 +379,7 @@ class BBJSONGenerator(object): ...@@ -378,6 +379,7 @@ class BBJSONGenerator(object):
'name': test_name, 'name': test_name,
'script': test_config['script'] 'script': test_config['script']
} }
result = self.update_and_cleanup_test(result, test_name, tester_name)
return result return result
def generate_junit_test(self, waterfall, tester_name, tester_config, def generate_junit_test(self, waterfall, tester_name, tester_config,
......
...@@ -300,6 +300,16 @@ BAD_COMPOSITION_TEST_SUITES = """\ ...@@ -300,6 +300,16 @@ BAD_COMPOSITION_TEST_SUITES = """\
} }
""" """
SCRIPT_SUITE = """\
{
'foo_scripts': {
'foo_test': {
'script': 'foo.py',
},
},
}
"""
UNREFED_TEST_SUITE = """\ UNREFED_TEST_SUITE = """\
{ {
'foo_tests': {}, 'foo_tests': {},
...@@ -326,6 +336,18 @@ EMPTY_EXCEPTIONS = """\ ...@@ -326,6 +336,18 @@ EMPTY_EXCEPTIONS = """\
} }
""" """
SCRIPT_WITH_ARGS_EXCEPTIONS = """\
{
'foo_test': {
'modifications': {
'Fake Tester': {
'args': ['--fake-arg'],
},
},
},
}
"""
NO_BAR_TEST_EXCEPTIONS = """\ NO_BAR_TEST_EXCEPTIONS = """\
{ {
'bar_test': { 'bar_test': {
...@@ -532,6 +554,24 @@ SCRIPT_OUTPUT = """\ ...@@ -532,6 +554,24 @@ SCRIPT_OUTPUT = """\
} }
""" """
SCRIPT_WITH_ARGS_OUTPUT = """\
{
"AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
"AAAAA2 See generate_buildbot_json.py to make changes": {},
"Fake Tester": {
"scripts": [
{
"args": [
"--fake-arg"
],
"name": "foo_test",
"script": "foo.py"
}
]
}
}
"""
JUNIT_OUTPUT = """\ JUNIT_OUTPUT = """\
{ {
"AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {}, "AAAAA1 AUTOGENERATED FILE DO NOT EDIT": {},
...@@ -758,7 +798,15 @@ class UnitTest(unittest.TestCase): ...@@ -758,7 +798,15 @@ class UnitTest(unittest.TestCase):
fbb.files['chromium.test.json'] = ISOLATED_SCRIPT_OUTPUT fbb.files['chromium.test.json'] = ISOLATED_SCRIPT_OUTPUT
fbb.check_output_file_consistency(verbose=True) fbb.check_output_file_consistency(verbose=True)
def test_script_tests(self): def test_script_with_args(self):
fbb = FakeBBGen(FOO_SCRIPT_WATERFALL,
SCRIPT_SUITE,
SCRIPT_WITH_ARGS_EXCEPTIONS,
)
fbb.files['chromium.test.json'] = SCRIPT_WITH_ARGS_OUTPUT
fbb.check_output_file_consistency(verbose=True)
def test_script(self):
fbb = FakeBBGen(FOO_SCRIPT_WATERFALL, fbb = FakeBBGen(FOO_SCRIPT_WATERFALL,
FOO_SCRIPT_SUITE, FOO_SCRIPT_SUITE,
NO_BAR_TEST_EXCEPTIONS) NO_BAR_TEST_EXCEPTIONS)
...@@ -818,6 +866,7 @@ class UnitTest(unittest.TestCase): ...@@ -818,6 +866,7 @@ class UnitTest(unittest.TestCase):
'The following nonexistent machines.*', 'The following nonexistent machines.*',
fbb.check_input_file_consistency) fbb.check_input_file_consistency)
if __name__ == '__main__': if __name__ == '__main__':
unittest.main() unittest.main()
...@@ -283,6 +283,12 @@ ...@@ -283,6 +283,12 @@
}, },
}, },
}, },
'checkbins': {
'remove_from': [
'Linux x64',
'Mac',
],
},
'chrome_public_test_apk': { 'chrome_public_test_apk': {
'remove_from': [ 'remove_from': [
# TODO(kbr): on chromium.android this removal looks like an accident. # TODO(kbr): on chromium.android this removal looks like an accident.
...@@ -1447,6 +1453,24 @@ ...@@ -1447,6 +1453,24 @@
'Linux Tests (dbg)(1)(32)', 'Linux Tests (dbg)(1)(32)',
], ],
}, },
'sizes': {
'remove_from': [
'Win',
'Win x64',
],
'modifications': {
'Mac': {
'args': [
'mac-release/sizes',
],
},
'Linux x64': {
'args': [
'linux-release-64/sizes',
],
},
},
},
'skia_unittests': { 'skia_unittests': {
'remove_from': [ 'remove_from': [
# On chromium.android, unclear why these aren't run. # On chromium.android, unclear why these aren't run.
......
...@@ -484,6 +484,18 @@ ...@@ -484,6 +484,18 @@
'ui_touch_selection_unittests': {}, 'ui_touch_selection_unittests': {},
}, },
# TODO(dpranke): These are run on the p/chromium waterfall; they should
# probably be run on other builders, and we should get rid of the p/chromium
# waterfall.
'public_build_scripts': {
'checkbins': {
'script': 'checkbins.py',
},
'sizes': {
'script': 'sizes.py',
},
},
'system_webview_shell_instrumentation_tests': { 'system_webview_shell_instrumentation_tests': {
'system_webview_shell_layout_test_apk': {}, 'system_webview_shell_layout_test_apk': {},
}, },
......
...@@ -9,6 +9,43 @@ ...@@ -9,6 +9,43 @@
# * trailing commas are allowed. # * trailing commas are allowed.
[ [
{
'name': 'chromium',
'machines': {
'Linux x64': {
'additional_compile_targets': [
'all',
],
'test_suites': {
'scripts': 'public_build_scripts',
},
},
'Mac': {
'additional_compile_targets': [
'all',
],
'test_suites': {
'scripts': 'public_build_scripts',
},
},
'Win': {
'additional_compile_targets': [
'all',
],
'test_suites': {
'scripts': 'public_build_scripts',
},
},
'Win x64': {
'additional_compile_targets': [
'all',
],
'test_suites': {
'scripts': 'public_build_scripts',
},
},
}
},
{ {
'name': 'chromium.android', 'name': 'chromium.android',
'machines': { 'machines': {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment