Index: testing/buildbot/manage.py |
diff --git a/testing/buildbot/manage.py b/testing/buildbot/manage.py |
index a840e18a8e053e828f28f1b9ff77abaa4674505d..e230816abdb075503a720ac00c52bd159a735340 100755 |
--- a/testing/buildbot/manage.py |
+++ b/testing/buildbot/manage.py |
@@ -132,28 +132,14 @@ SKIP = { |
SKIP_GN_ISOLATE_MAP_TARGETS = { |
- # TODO(GYP): These targets have not been ported to GN yet. |
- 'android_webview_unittests', |
- 'angle_deqp_gles2_tests', |
- 'angle_deqp_gles3_tests', |
- 'cast_media_unittests', |
- 'cast_shell_browser_test', |
- 'chromevox_tests', |
- 'nacl_helper_nonsfi_unittests', |
- |
- # TODO(kbr): teach this script about isolated_scripts tests. |
- # crbug.com/620531 |
- 'telemetry_gpu_integration_test', |
- 'telemetry_gpu_test', |
- 'telemetry_gpu_unittests', |
- 'telemetry_perf_tests', |
- 'telemetry_perf_unittests', |
- 'telemetry_unittests', |
+ 'all', |
+ 'chromium_swarm_tests', |
# These tests are only run on WebRTC CI. |
'audio_decoder_unittests', |
'common_audio_unittests', |
'common_video_unittests', |
+ 'frame_analyzer', |
'modules_tests', |
'modules_unittests', |
'peerconnection_unittests', |
@@ -233,23 +219,36 @@ def process_file(mode, test_name, tests_location, filepath, ninja_targets, |
continue |
if not isinstance(data, dict): |
raise Error('%s: %s is broken: %s' % (filename, builder, data)) |
- if 'gtest_tests' not in data: |
+ if ('gtest_tests' not in data and |
+ 'isolated_scripts' not in data and |
+ 'additional_compile_targets' not in data): |
continue |
- if not isinstance(data['gtest_tests'], list): |
+ |
+ for target in data.get('additional_compile_targets', []): |
+ if (target not in ninja_targets and |
+ target not in SKIP_GN_ISOLATE_MAP_TARGETS): |
+ raise Error('%s: %s / %s is not listed in gn_isolate_map.pyl' % |
+ (filename, builder, target)) |
+ elif target in ninja_targets: |
+ ninja_targets_seen.add(target) |
+ |
+ gtest_tests = data.get('gtest_tests', []) |
+ if not isinstance(gtest_tests, list): |
raise Error( |
- '%s: %s is broken: %s' % (filename, builder, data['gtest_tests'])) |
- if not all(isinstance(g, dict) for g in data['gtest_tests']): |
+ '%s: %s is broken: %s' % (filename, builder, gtest_tests)) |
+ if not all(isinstance(g, dict) for g in gtest_tests): |
raise Error( |
- '%s: %s is broken: %s' % (filename, builder, data['gtest_tests'])) |
+ '%s: %s is broken: %s' % (filename, builder, gtest_tests)) |
seen = set() |
- for d in data['gtest_tests']: |
- if (d['test'] not in ninja_targets and |
- d['test'] not in SKIP_GN_ISOLATE_MAP_TARGETS): |
+ for d in gtest_tests: |
+ test = d['test'] |
+ if (test not in ninja_targets and |
+ test not in SKIP_GN_ISOLATE_MAP_TARGETS): |
raise Error('%s: %s / %s is not listed in gn_isolate_map.pyl.' % |
- (filename, builder, d['test'])) |
- elif d['test'] in ninja_targets: |
- ninja_targets_seen.add(d['test']) |
+ (filename, builder, test)) |
+ elif test in ninja_targets: |
+ ninja_targets_seen.add(test) |
name = d.get('name', d['test']) |
if name in seen: |
@@ -259,8 +258,18 @@ def process_file(mode, test_name, tests_location, filepath, ninja_targets, |
d.setdefault('swarming', {}).setdefault( |
'can_use_on_swarming_builders', False) |
- config[builder]['gtest_tests'] = sorted( |
- data['gtest_tests'], key=lambda x: x['test']) |
+ if gtest_tests: |
+ config[builder]['gtest_tests'] = sorted( |
+ gtest_tests, key=lambda x: x['test']) |
+ |
+ for d in data.get('isolated_scripts', []): |
+ name = d['isolate_name'] |
Dirk Pranke
2016/09/16 01:36:44
@kbr - it seems like maybe for isolate_scripts I s
Ken Russell (switch to Gerrit)
2016/09/16 18:13:31
From examining src/testing/buildbot/chromium.gpu.j
|
+ if (name not in ninja_targets and |
+ name not in SKIP_GN_ISOLATE_MAP_TARGETS): |
+ raise Error('%s: %s / %s is not listed in gn_isolate_map.pyl.' % |
+ (filename, builder, name)) |
+ elif name in ninja_targets: |
+ ninja_targets_seen.add(name) |
# The trick here is that process_builder_remaining() is called before |
# process_builder_convert() so tests_location can be used to know how many |