blob: 2b0d7442b9f2f12792d0bc55b6cc24b9f109b835 [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This is a .pyl, or "Python Literal", file. You can treat it just like a
# .json file, with the following exceptions:
# * all keys must be quoted (use single quotes, please);
# * comments are allowed, using '#' syntax; and
# * trailing commas are allowed.
# The test suites understood by the waterfalls. Two kinds of entries
# are supported here:
# 1. Dictionaries that directly define test suites.
# 2. Compositions, in the form of lists which refer to other test
# suites.
#
# This file must be sorted by key. Run ./generate_buildbot_json.py -c to check
# your ordering; it will print out incorrectly sorted keys if there are any.
{
# Test suites.
'basic_suites': {
'android_ar_gtests': {
'monochrome_public_test_ar_apk': {},
# Name is vr_*, but actually has AR tests.
'vr_android_unittests': {},
},
'android_ddready_vr_gtests': {
'chrome_public_test_vr_apk-ddready-cardboard': {
'args': [
'--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json',
],
'mixins': [
'vr_instrumentation_test',
],
'swarming': {
'shards': 2,
},
'test': 'chrome_public_test_vr_apk',
},
'chrome_public_test_vr_apk-ddready-ddview': {
'args': [
'--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_ddview_skipdon_setupcomplete.json',
'--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_keyboard/vr_keyboard_current.apk',
],
'mixins': [
'chrome-gold-service-account',
'skia_gold_test',
'vr_instrumentation_test',
],
'swarming': {
'shards': 4,
},
'test': 'chrome_public_test_vr_apk',
},
'chrome_public_test_vr_apk-ddready-don-enabled': {
'args': [
'--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_ddview_don_setupcomplete.json',
'--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_keyboard/vr_keyboard_current.apk',
'--annotation=Restriction=VR_DON_Enabled',
'--vr-don-enabled',
],
'mixins': [
'vr_instrumentation_test',
],
'test': 'chrome_public_test_vr_apk',
},
},
'android_incremental_tests': {
'base_unittests': {
'args': [
'--gtest_filter=PathUtilsTest.TestGetDataDirectory',
],
},
'chrome_public_test_apk': {
'args': [
'--gtest_filter=TabTest.testTabContext',
],
'mixins': [
'chrome-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
},
'content_browsertests': {
'args': [
'--gtest_filter=AndroidGranularityMovementBrowserTest.NavigateByCharacters.',
],
},
},
'android_isolated_scripts': {
'content_shell_crash_test': {
'args': [
'--platform=android',
],
'resultdb': {
'enable': True,
'result_format': 'single'
}
},
},
# List gtests that are part of other composition test suites.
# MM emulator CQ builder currently has limited capacity so some composition
# test suites cannot be fullly enabled at once.
'android_marshmallow_emulator_limited_capacity_gtests': {
# Tests from android_specific_chromium_gtests
'chrome_public_test_apk': {
'swarming': {
'shards': 20,
},
'mixins': [
'chrome-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
},
# Tests from chromium_gtests_for_devices_with_graphical_output
'unit_tests': {
'android_swarming': {
'shards': 2,
},
},
# Tests from chromium_gtests
'webkit_unit_tests':{
'test': 'blink_unittests',
'android_swarming': {
'shards': 4,
},
},
},
'android_modern_smoke_tests': {
'chrome_modern_public_bundle_fake_modules_smoke_test': {},
'chrome_modern_public_bundle_smoke_test': {},
},
'android_monochrome_smoke_tests': {
'monochrome_public_bundle_fake_modules_smoke_test': {},
'monochrome_public_bundle_smoke_test': {},
'monochrome_public_smoke_test': {},
},
'android_oreo_standard_gtests': {
'chrome_public_test_apk': {
'swarming': {
'shards': 5,
},
'mixins': [
'chrome-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
},
'webview_instrumentation_test_apk': {
'swarming': {
'expiration': 10800,
'shards': 5,
},
},
},
'android_pagecontroller_self_tests': {
'chrome_java_test_pagecontroller_tests': {},
},
# TODO(crbug.com/1111436): Deprecate this group in favor of
# android_pie_rel_non_skia_renderer_gtests if/when android Pie capacity
# is fully restored.
'android_pie_rel_reduced_capacity_gtests': {
'android_browsertests': {},
'blink_platform_unittests': {},
'chrome_public_test_apk': {
'swarming': {
'shards': 20,
},
'mixins': [
'chrome-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
},
'content_browsertests': {
'swarming': {
'shards': 15,
},
},
'weblayer_bundle_test': {},
'weblayer_instrumentation_test_apk': {},
'webview_instrumentation_test_apk': {
'swarming': {
'shards': 7,
},
},
},
'android_smoke_tests': {
'chrome_public_smoke_test': {},
},
'android_specific_chromium_gtests': {
'android_browsertests': {
'swarming': {
'shards': 1,
},
},
'android_sync_integration_tests': {
'swarming': {
'shards': 1,
},
'args': [
'--test-launcher-batch-limit=1',
],
},
'android_webview_unittests': {},
'breakpad_unittests': {},
'chrome_public_test_apk': {
'swarming': {
'shards': 20,
},
'mixins': [
'chrome-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
},
'chrome_public_test_vr_apk': {
'args': [
'--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json',
'--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk',
],
'swarming': {
'shards': 2,
},
},
'content_shell_test_apk': {
'swarming': {
'shards': 3,
},
},
'gl_tests_validating': {
'test': 'gl_tests',
# TODO(kbr): these are actually run on many of the GPU bots, which have
# physical hardware for several of the desktop OSs. Once the GPU JSON
# generation script is merged with this one, this should be promoted from
# the Android-specific section.
'args': [
'--use-cmd-decoder=validating',
],
},
'gl_unittests': {
# TODO(kbr): these are actually run on many of the GPU bots, which have
# physical hardware for several of the desktop OSs. Once the GPU JSON
# generation script is merged with this one, this should be promoted from
# the Android-specific section.
},
'mojo_test_apk': {},
'ui_android_unittests': {},
'vr_android_unittests': {},
'webview_instrumentation_test_apk': {
'swarming': {
'shards': 7,
},
},
},
'android_specific_chromium_gtests_for_paeverywhere': {
'android_browsertests': {
'swarming': {
'shards': 1,
},
},
'android_webview_unittests': {},
'gl_unittests': {},
'ui_android_unittests': {},
},
'android_trichrome_smoke_tests': {
'trichrome_chrome_bundle_fake_modules_smoke_test': {},
'trichrome_chrome_bundle_smoke_test': {},
},
'android_vega_vr_gtests': {
'chrome_public_test_vr_apk-vega': {
'args': [
'--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_ddview_skipdon_setupcomplete.json',
],
'test': 'chrome_public_test_vr_apk',
'experiment_percentage': 100,
},
},
'android_webapk_launch_tests': {
'chrome_java_test_webapk_launch_tests': {},
},
'android_webview_gpu_telemetry_tests': {
'pixel_skia': {
'name': 'android_webview_pixel_skia_gold_test',
'args': [
'--dont-restore-color-profile-after-test',
'--test-machine-name',
'${buildername}',
],
'mixins': [
'chrome-gpu-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
'telemetry_test_name': 'pixel',
},
},
'android_wpr_record_replay_tests': {
'chrome_java_test_wpr_tests': {
'mixins': [
'chrome-gpu-gold-service-account',
'skia_gold_test',
],
},
},
'aura_gtests': {
'aura_unittests': {},
'compositor_unittests': {},
'wm_unittests': {},
},
'bfcache_android_specific_gtests': {
'bf_cache_android_browsertests': {
'args': [
'--enable-features=BackForwardCache,BackForwardCacheNoTimeEviction,ProactivelySwapBrowsingInstance',
],
'test': 'android_browsertests',
},
'bf_cache_chrome_public_test_apk': {
'args': [
'--enable-features=BackForwardCache,BackForwardCacheNoTimeEviction,ProactivelySwapBrowsingInstance',
],
'swarming': {
'shards': 20,
},
'mixins': [
'chrome-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
'test': 'chrome_public_test_apk',
},
'bf_cache_content_shell_test_apk': {
'args': [
'--enable-features=BackForwardCache,BackForwardCacheNoTimeEviction,ProactivelySwapBrowsingInstance',
],
'swarming': {
'shards': 5,
},
'test': 'content_shell_test_apk',
},
},
'bfcache_generic_gtests': {
'bf_cache_content_browsertests': {
'args': [
'--enable-features=BackForwardCache,BackForwardCacheNoTimeEviction,ProactivelySwapBrowsingInstance',
],
'swarming': {
'shards': 20,
},
'test': 'content_browsertests',
},
'bf_cache_content_unittests': {
'args': [
'--enable-features=BackForwardCache,BackForwardCacheNoTimeEviction,ProactivelySwapBrowsingInstance',
],
'swarming': {
'shards': 10,
},
'test': 'content_unittests',
},
'bf_cache_unit_tests': {
'args': [
'--enable-features=BackForwardCache,BackForwardCacheNoTimeEviction,ProactivelySwapBrowsingInstance',
'--test-launcher-filter-file=../../testing/buildbot/filters/bfcache.unit_tests.filter'
],
'swarming': {
'shards': 10,
},
'test': 'unit_tests',
},
},
'bfcache_linux_specific_gtests': {
'bf_cache_browser_tests': {
'args': [
'--enable-features=BackForwardCache,BackForwardCacheNoTimeEviction,ProactivelySwapBrowsingInstance',
],
'swarming': {
'shards': 10,
},
'test': 'browser_tests',
},
},
'cast_audio_specific_chromium_gtests': {
'cast_audio_backend_unittests': {},
'cast_base_unittests': {},
'cast_crash_unittests': {},
'cast_media_unittests': {},
'cast_shell_browsertests': {
'args': [
'--enable-local-file-accesses',
'--ozone-platform=headless',
'--no-sandbox',
'--test-launcher-jobs=1',
],
'swarming': {
'can_use_on_swarming_builders': False, # https://crbug.com/861753
},
},
'cast_shell_unittests': {},
},
'cast_junit_tests': {
'cast_base_junit_tests': {},
'cast_shell_junit_tests': {},
},
'cast_video_specific_chromium_gtests': {
'cast_accessibility_unittests': {},
'cast_display_settings_unittests': {
'experiment_percentage': 100,
},
'cast_graphics_unittests': {},
'exo_unittests': {},
'views_unittests': {
'experiment_percentage': 100,
},
},
'check_network_annotations_script': {
'check_network_annotations': {
'script': 'check_network_annotations.py',
},
},
'chrome_public_wpt': {
'chrome_public_wpt': {
'swarming': {
'shards': 15,
'expiration': 18000,
'hard_timeout': 14400,
},
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'results_handler': 'layout tests',
},
},
'chrome_sizes': {
'chrome_sizes': {
'merge': {
'script': '//tools/perf/process_perf_results.py',
},
'resultdb': {
'enable': False,
},
},
},
'chrome_sizes_android': {
'chrome_sizes': {
'merge': {
'script': '//tools/perf/process_perf_results.py',
},
'resultdb': {
'enable': False,
},
'args': [
'--platform=android',
],
'swarming': {
"dimension_sets": [
{
"cpu": "x86-64",
"os": "Ubuntu-16.04"
}
],
},
'remove_mixins': [
'android_q',
'android_r',
'bullhead',
'flame',
'flounder',
'foster',
'hammerhead',
'kitkat',
'lollipop',
'lollipop_generic',
'marshmallow',
'marshmallow_generic',
'nougat',
'nougat_generic',
'oreo_fleet',
'pie_fleet',
'sailfish',
'shamu',
'walleye',
],
},
},
'chromedriver_py_tests_isolated_scripts': {
'chromedriver_py_tests': {
'args': [
'--test-type=integration',
],
'resultdb': {
'enable': True,
},
},
'chromedriver_replay_unittests': {},
},
'chromeos_browser_integration_tests': {
'chrome_all_tast_tests': {
'swarming': {
'idempotent': False, # https://crbug.com/923426#c27
'shards': 4,
},
'resultdb': {
'enable': True,
},
},
'disk_usage_tast_test': {
"args": [
# Stripping gives more accurate disk usage data.
"--strip-chrome",
],
'merge': {
'script': '//tools/perf/process_perf_results.py',
},
'swarming': {
'idempotent': False, # https://crbug.com/923426#c27
},
},
},
# GTests to run on Chrome OS devices, but not Chrome OS VMs. Any differences
# between this and chromeos_system_friendly_gtests below should only be due
# to resource constraints (ie: not enough devices).
'chromeos_device_only_gtests': {
'base_unittests': {
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.base_unittests.filter',
],
},
},
'chromeos_isolated_scripts': {
'telemetry_perf_unittests': {
'args': [
'--browser=cros-chrome',
'$$MAGIC_SUBSTITUTION_ChromeOSTelemetryRemote',
'--xvfb',
# 3 is arbitrary, but if we're having more than 3 of these tests
# fail in a single shard, then something is probably wrong, so fail
# fast.
'--typ-max-failures=3',
],
'swarming': {
'idempotent': False, # https://crbug.com/549140
'shards': 6,
},
'resultdb': {
'enable': True,
},
},
'telemetry_unittests': {
'args': [
'--jobs=1',
'--browser=cros-chrome',
'$$MAGIC_SUBSTITUTION_ChromeOSTelemetryRemote',
# 3 is arbitrary, but if we're having more than 3 of these tests
# fail in a single shard, then something is probably wrong, so fail
# fast.
'--typ-max-failures=3',
],
'swarming': {
'idempotent': False, # https://crbug.com/549140
'shards': 24,
},
'resultdb': {
'enable': True,
},
},
},
'chromeos_remote_device_isolated_tests': {
'telemetry_perf_unittests': {
'args': [
'--browser=cros-chrome',
'$$MAGIC_SUBSTITUTION_ChromeOSTelemetryRemote',
'--xvfb',
],
'swarming': {
'idempotent': False, # https://crbug.com/549140
'shards': 2,
},
'resultdb': {
'enable': True,
},
},
'telemetry_unittests': {
'args': [
'--browser=cros-chrome',
'$$MAGIC_SUBSTITUTION_ChromeOSTelemetryRemote',
'--jobs=1',
],
'swarming': {
'idempotent': False, # https://crbug.com/549140
'shards': 10,
},
'resultdb': {
'enable': True,
},
},
},
# Tests that run on Chrome OS systems (ie: VMs, Chromebooks), *not*
# linux-chromeos.
# NOTE: We only want a small subset of test suites here, because most
# suites assume that they stub out the underlying device hardware.
# https://crbug.com/865693
'chromeos_system_friendly_gtests': {
'aura_unittests': {
'args': [
'--ozone-platform=headless',
],
},
'base_unittests': {},
'capture_unittests': {
'args': [
'--test-launcher-jobs=1',
# Don't run CaptureMJpeg tests on ChromeOS VM because vivid,
# which is the virtual video capture device, doesn't support MJPEG.
'--gtest_filter=-*UsingRealWebcam_CaptureMjpeg*',
],
},
'cc_unittests': {},
'crypto_unittests': {},
'display_unittests': {},
'google_apis_unittests': {},
'interactive_ui_tests': {
'args': [
'--stop-ui',
'--dbus-stub',
'--gtest_filter=SplitViewTest.SplitViewResize',
],
},
'ipc_tests': {},
'jingle_unittests': {},
'latency_unittests': {},
'libcups_unittests': {},
'media_unittests': {
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.media_unittests.filter',
],
},
'midi_unittests': {},
'mojo_unittests': {},
# net_unittests has a test-time dependency on vpython. So add a CIPD'ed
# vpython of the right arch to the task, and tell the test runner to copy
# it over to the VM before the test runs.
'net_unittests': {
'args': [
'--vpython-dir=../../vpython_dir_linux_amd64',
],
'swarming': {
'cipd_packages': [
{
"cipd_package": 'infra/python/cpython/linux-amd64',
'location': 'vpython_dir_linux_amd64',
'revision': 'version:2.7.15.chromium14',
},
{
"cipd_package": 'infra/tools/luci/vpython/linux-amd64',
'location': 'vpython_dir_linux_amd64',
'revision': 'git_revision:0f694cdc06ba054b9960aa1ae9766e45b53d02c1',
}
],
'shards': 3,
},
},
'ozone_gl_unittests': {
'args': [
'--stop-ui',
],
},
'ozone_unittests': {},
'pdf_unittests': {},
'printing_unittests': {},
'profile_provider_unittest': {
'args': [
'--stop-ui',
'--test-launcher-jobs=1',
],
},
'sandbox_linux_unittests': {},
'sql_unittests': {},
'url_unittests': {},
'vaapi_unittest': {
'args': [
'--stop-ui',
# Tell libva to do dummy encoding/decoding. For more info, see:
# https://github.com/intel/libva/blob/master/va/va_fool.c#L47
'--env-var', 'LIBVA_DRIVERS_PATH', '/usr/local/lib64',
'--env-var', 'LIBVA_DRIVER_NAME', 'fake',
'--env-var', 'LIBVA_FOOL_DECODE', '1',
'--env-var', 'LIBVA_FOOL_POSTP', '1',
'--gtest_filter="VaapiTest.*"',
],
},
},
'chromium_android_asan_gtests': {
# TODO(kbr): reduce duplication among these tests, and with other
# test suites.
'base_unittests': {
'args': [
'--tool=asan',
],
},
},
'chromium_android_asan_junit_tests': {
'base_junit_tests': {},
},
'chromium_android_webkit_gtests': {
'blink_heap_unittests': {},
'webkit_unit_tests': {
'test': 'blink_unittests',
},
},
'chromium_browser_tests': {
'browser_tests': {
'swarming': {
'shards': 10,
},
},
'components_browsertests': {},
'content_browsertests': {},
'interactive_ui_tests': {
'swarming': {
'shards': 3,
},
},
},
'chromium_gtests': {
'absl_hardening_tests': {},
'angle_unittests': {
'args': [
'angle_unittests',
],
'android_args': [
'-v',
],
'use_isolated_scripts_api': True,
},
'base_unittests': {},
'base_util_unittests': {},
'blink_common_unittests': {},
'blink_heap_unittests': {},
'blink_platform_unittests': {},
'boringssl_crypto_tests': {},
'boringssl_ssl_tests': {},
'capture_unittests': {
'args': [
'--gtest_filter=-*UsingRealWebcam*',
],
},
'cast_unittests': {},
'components_browsertests': {},
'components_unittests': {
'android_swarming': {
'shards': 4,
},
},
'content_browsertests': {
'android_swarming': {
'shards': 9,
},
'swarming': {
'shards': 6,
},
},
'content_unittests': {
'android_swarming': {
'shards': 3,
},
},
'crashpad_tests': {},
'crypto_unittests': {},
'events_unittests': {},
'gcm_unit_tests': {},
'gin_unittests': {},
'google_apis_unittests': {},
'gpu_unittests': {},
'gwp_asan_unittests': {},
'ipc_tests': {},
'jingle_unittests': {},
'latency_unittests': {},
'libjingle_xmpp_unittests': {},
'liburlpattern_unittests': {},
'media_blink_unittests': {},
'media_unittests': {},
'midi_unittests': {},
'mojo_unittests': {},
'net_unittests': {
'android_swarming': {
'shards': 3,
},
},
'perfetto_unittests': {},
'services_unittests': {},
'shell_dialogs_unittests': {},
'skia_unittests': {},
'sql_unittests': {},
'storage_unittests': {},
'ui_base_unittests': {},
'ui_touch_selection_unittests': {},
'url_unittests': {},
'webkit_unit_tests': {
'test': 'blink_unittests',
'android_swarming': {
'shards': 4,
},
},
'wtf_unittests': {},
'zlib_unittests': {},
},
'chromium_gtests_for_devices_with_graphical_output': {
'cc_unittests': {},
'device_unittests': {},
'display_unittests': {},
'gfx_unittests': {},
'unit_tests': {
'android_swarming': {
'shards': 2,
},
},
'viz_unittests': {},
},
'chromium_gtests_for_linux_and_chromeos_only': {
'dbus_unittests': {},
'mojo_core_unittests': {},
'nacl_helper_nonsfi_unittests': {},
},
'chromium_gtests_for_linux_and_mac_only': {
'openscreen_unittests': {},
},
'chromium_gtests_for_linux_only': {
'gtk_unittests': {},
'x11_unittests': {},
},
'chromium_gtests_for_win_and_linux_only': {
'traffic_annotation_auditor_unittests': {},
},
'chromium_junit_tests': {
'android_webview_junit_tests': {},
'base_junit_tests': {},
'chrome_java_test_pagecontroller_junit_tests': {},
'chrome_junit_tests': {},
'components_junit_tests': {},
'content_junit_tests': {},
'device_junit_tests': {},
'junit_unit_tests': {},
'keyboard_accessory_junit_tests': {},
'media_base_junit_tests': {},
'module_installer_junit_tests': {},
'net_junit_tests': {},
'paint_preview_junit_tests': {},
'password_check_junit_tests': {},
'password_manager_junit_tests': {},
'services_junit_tests': {},
'touch_to_fill_junit_tests': {},
'ui_junit_tests': {},
'webapk_client_junit_tests': {},
'webapk_shell_apk_h2o_junit_tests': {},
'webapk_shell_apk_junit_tests': {},
'weblayer_junit_tests': {
# Experimental until we're sure these are stable.
'experiment_percentage': 100
},
},
'chromium_linux_scripts': {
'check_static_initializers': {
'script': 'check_static_initializers.py',
},
'checkdeps': {
'script': 'checkdeps.py',
},
'checkperms': {
'script': 'checkperms.py',
},
'headless_python_unittests': {
'script': 'headless_python_unittests.py',
},
'webkit_lint': {
'script': 'blink_lint_expectations.py',
},
},
'chromium_mac_scripts': {
'check_static_initializers': {
'script': 'check_static_initializers.py',
},
'webkit_lint': {
'script': 'blink_lint_expectations.py',
},
},
'chromium_scripts': {
'webkit_lint': {
'script': 'blink_lint_expectations.py',
},
},
'chromium_swarm_android_gtests': {
'base_unittests': {},
'chrome_modern_public_bundle_fake_modules_smoke_test': {},
'chrome_modern_public_bundle_smoke_test': {},
'content_browsertests': {
'swarming': {
'shards': 10,
},
},
'content_shell_test_apk': {
'swarming': {
'shards': 3,
},
},
'content_unittests': {
'swarming': {
'shards': 3,
},
},
'net_unittests': {
'swarming': {
'shards': 4,
},
},
'unit_tests': {
'swarming': {
'shards': 5,
},
},
'weblayer_bundle_test': {},
'webview_instrumentation_test_apk': {
'swarming': {
'shards': 7,
},
},
},
'chromium_swarm_desktop_gtests': {
'base_unittests': {},
'content_browsertests': {},
'content_unittests': {},
'interactive_ui_tests': {},
'net_unittests': {},
'unit_tests': {},
},
'chromium_swarm_linux_gtests': {
'base_unittests': {
'swarming': {
'dimension_sets': [
{
'cores': '8',
},
],
},
},
'browser_tests': {
'swarming': {
'dimension_sets': [
{
'cores': '8',
},
],
'shards': 2,
},
},
'content_browsertests': {
'swarming': {
'dimension_sets': [
{
'cores': '8',
},
],
},
},
'content_unittests': {
'swarming': {
'dimension_sets': [
{
'cores': '2',
},
],
},
},
'interactive_ui_tests': {
'swarming': {
'dimension_sets': [
{
'cores': '8',
},
],
},
},
'net_unittests': {
'swarming': {
'dimension_sets': [
{
'cores': '8',
},
],
},
},
'unit_tests': {
'swarming': {
'dimension_sets': [
{
'cores': '2',
},
],
},
},
},
# On some bots we don't have capacity to run all standard tests (for example
# Android Pie), however there are tracing integration tests we want to
# ensure are still working.
'chromium_tracing_gtests': {
'services_unittests': {},
},
'chromium_web_tests_and_wpt_webdriver_isolated_scripts': {
'blink_web_tests': {
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'args': [
'--num-retries=3',
],
'isolate_name': 'blink_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
'swarming': {
'shards': 12,
},
},
'webdriver_tests_suite': {
'isolate_name': 'webdriver_wpt_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'swarming': {
'shards': 4,
},
},
},
'chromium_web_tests_high_dpi_isolated_scripts': {
'high_dpi_blink_web_tests': {
# high_dpi_blink_web_tests provides coverage for
# running Layout Tests with forced device scale factor.
'args': [
'--flag-specific=highdpi',
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'--num-retries=3',
],
'isolate_name': 'blink_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
'swarming': {
'shards': 12,
},
# Experimental until tests are rebaselined.
'experiment_percentage': 100,
},
},
'chromium_webkit_isolated_scripts': {
'blink_web_tests': {
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'args': [
'--num-retries=3',
],
'isolate_name': 'blink_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
'swarming': {
'shards': 12,
}
},
},
'client_v8_chromium_gtests': {
'app_shell_unittests': {},
'browser_tests': {
'swarming': {
'shards': 10,
},
},
'chrome_app_unittests': {},
'chromedriver_unittests': {},
'components_browsertests': {},
'components_unittests': {},
'compositor_unittests': {},
'content_browsertests': {},
'content_unittests': {},
'device_unittests': {},
'extensions_browsertests': {},
'extensions_unittests': {},
'gcm_unit_tests': {},
'gin_unittests': {},
'google_apis_unittests': {},
'gpu_unittests': {},
'headless_browsertests': {},
'headless_unittests': {},
'interactive_ui_tests': {},
'jingle_unittests': {},
'media_blink_unittests': {},
'nacl_loader_unittests': {},
'net_unittests': {},
'pdf_unittests': {},
'ppapi_unittests': {},
'remoting_unittests': {},
'services_unittests': {},
'sync_integration_tests': {},
'unit_tests': {},
},
'client_v8_chromium_isolated_scripts': {
'content_shell_crash_test': {
'resultdb': {
'enable': True,
'result_format': 'single'
}
},
'telemetry_gpu_unittests': {
'swarming': {
'idempotent': False, # https://crbug.com/549140
},
'resultdb': {
'enable': True,
},
},
'telemetry_perf_unittests': {
'args': [
'--xvfb',
# TODO(crbug.com/1077284): Remove this once Crashpad is the default.
'--extra-browser-args=--enable-crashpad',
],
'swarming': {
'idempotent': False, # https://crbug.com/549140
'shards': 12,
},
'resultdb': {
'enable': True,
},
},
'telemetry_unittests': {
'args': [
'--jobs=1',
# Disable GPU compositing, telemetry_unittests runs on VMs.
# https://crbug.com/871955
'--extra-browser-args=--disable-gpu',
],
'swarming': {
'idempotent': False, # https://crbug.com/549140
'shards': 4,
},
'resultdb': {
'enable': True,
},
},
},
'components_perftests_isolated_scripts' : {
'components_perftests': {
'merge': {
'script': '//tools/perf/process_perf_results.py',
'args': [
'--smoke-test-mode',
],
},
'args': [
'--gtest-benchmark-name=components_perftests',
],
},
},
'cronet_gtests': {
'cronet_sample_test_apk': {},
'cronet_smoketests_missing_native_library_instrumentation_apk': {},
'cronet_smoketests_platform_only_instrumentation_apk': {},
'cronet_test_instrumentation_apk': {},
'cronet_tests_android': {},
'cronet_unittests_android': {},
'net_unittests': {
'swarming': {
'shards': 4,
},
},
},
'cronet_resource_sizes': {
'resource_sizes_cronet_sample_apk': {
'merge': {
'script': '//tools/perf/process_perf_results.py',
},
'swarming': {
'dimension_sets': [
# This suite simply analyzes build targets without running them.
# It can thus run on a standard linux machine w/o a device.
{
'os': 'Ubuntu-16.04',
'cpu': 'x86'
},
],
},
'resultdb': {
'enable': True,
'result_format': 'single'
},
},
},
'cronet_sizes': {
'cronet_sizes': {
'merge': {
'script': '//tools/perf/process_perf_results.py',
},
'swarming': {
'dimension_sets': [
# This suite simply analyzes build targets without running them.
# It can thus run on a standard linux machine w/o a device.
{
'os': 'Ubuntu-16.04',
'cpu': 'x86'
},
],
},
'resultdb': {
'enable': True,
'result_format': 'single',
'result_file': '${ISOLATED_OUTDIR}/sizes/test_results.json'
},
},
},
'desktop_chromium_isolated_scripts': {
'blink_python_tests': {
'resultdb': {
'enable': True,
}
},
'blink_web_tests': {
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'args': [
'--num-retries=3',
],
'isolate_name': 'blink_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
'swarming': {
'shards': 12,
}
},
'content_shell_crash_test': {
'resultdb': {
'enable': True,
'result_format': 'single'
}
},
'flatbuffers_unittests': {
'resultdb': {
'enable': True,
'result_format': 'single'
}
},
'grit_python_unittests': {
'resultdb': {
'enable': True,
},
},
'metrics_python_tests': {
'resultdb': {
'enable': True,
},
},
'telemetry_gpu_unittests': {
'swarming': {
'idempotent': False, # https://crbug.com/549140
},
'resultdb': {
'enable': True,
},
},
'telemetry_unittests': {
'args': [
'--jobs=1',
# Disable GPU compositing, telemetry_unittests runs on VMs.
# https://crbug.com/871955
'--extra-browser-args=--disable-gpu',
],
'swarming': {
'idempotent': False, # https://crbug.com/549140
'shards': 8,
},
'resultdb': {
'enable': True,
},
},
'views_perftests': {
'merge': {
'script': '//tools/perf/process_perf_results.py',
'args': [
'--smoke-test-mode',
],
},
'args': [
'--gtest-benchmark-name=views_perftests',
],
},
},
'devtools_browser_tests' : {
'devtools_browser_tests': {
'args': [
'--gtest_filter=*DevTools*',
],
'swarming': {
'shards': 1,
},
'test': 'browser_tests',
}
},
'devtools_webkit_isolated_scripts': {
'blink_web_tests': {
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'args': [
'--num-retries=3',
],
'isolate_name': 'blink_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
'swarming': {
'shards': 12,
}
},
'webkit_layout_from_devtools': {
# TODO(crbug.com/816629) - Move these args into //BUILD.gn .
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'args': [
'--num-retries=3',
'--layout-tests-directory=../../third_party/devtools-frontend/src/test/webtests/',
'http/tests/devtools',
],
'isolate_name': 'devtools_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
'swarming': {
'shards': 4,
}
},
},
'fieldtrial_browser_tests': {
'no_fieldtrial_browser_tests': {
'args': [
'--disable-field-trial-config',
],
'swarming': {
'shards': 10,
},
'test': 'browser_tests',
}
},
'fuchsia_common_gtests': {
'absl_hardening_tests': {},
'accessibility_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'aura_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'base_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'base_util_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'blink_common_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'blink_heap_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'blink_platform_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'blink_unittests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.blink_unittests.filter',
],
},
'boringssl_crypto_tests': {
'mixins': ['fuchsia_runner_logs'],
},
'boringssl_ssl_tests': {
'mixins': ['fuchsia_runner_logs'],
},
'capture_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'cc_unittests': {
'swarming': {
'shards': 2,
},
'mixins': ['fuchsia_runner_logs'],
},
'components_unittests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.components_unittests.filter',
],
},
'compositor_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'content_unittests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.content_unittests.filter',
],
},
'cronet_tests': {
'mixins': ['fuchsia_runner_logs'],
},
'cronet_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'crypto_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'display_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'events_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'gfx_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'gin_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'google_apis_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'gpu_unittests': {},
'headless_browsertests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.headless_browsertests.filter',
],
},
'headless_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'http_service_tests': {
'mixins': ['fuchsia_runner_logs'],
},
'ipc_tests': {
'mixins': ['fuchsia_runner_logs'],
},
'latency_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'media_blink_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'media_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'mojo_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'native_theme_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'net_unittests': {
'mixins': ['fuchsia_runner_logs'],
'swarming': {
'shards': 4,
},
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.net_unittests.filter',
],
},
'perfetto_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'service_manager_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'services_unittests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.services_unittests.filter',
],
},
'shell_dialogs_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'skia_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'snapshot_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'sql_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'storage_unittests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.storage_unittests.filter',
],
},
'ui_base_unittests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.ui_base_unittests.filter',
],
},
'url_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
'viz_unittests': {
'mixins': ['fuchsia_runner_logs'],
'args': [
'--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.viz_unittests.filter',
],
},
'wtf_unittests': {
'mixins': ['fuchsia_runner_logs'],
},
},
'fuchsia_gpu_telemetry_tests': {
'context_lost_validating': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'name': 'context_lost_validating_tests',
'telemetry_test_name': 'context_lost',
'args': [
'--extra-browser-args=--use-cmd-decoder=validating',
],
'mixins': [
'enable_resultdb',
],
},
'depth_capture': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'enable_resultdb',
],
},
'gpu_process': {
'name': 'gpu_process_launch_tests',
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'enable_resultdb',
],
},
'hardware_accelerated_feature': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'enable_resultdb',
],
},
'info_collection': {
'args': [
'--expected-vendor-id',
'${gpu_vendor_id}',
'$$MAGIC_SUBSTITUTION_GPUExpectedDeviceId',
],
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'enable_resultdb',
],
},
'maps': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'chrome-gpu-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
},
'pixel': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'chrome-gpu-gold-service-account',
'skia_gold_test',
'enable_resultdb',
],
},
'screenshot_sync': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'enable_resultdb',
],
},
'trace_test': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'enable_resultdb',
],
},
'webgl_conformance': {
'isolate_name': 'fuchsia_telemetry_gpu_integration_test',
'mixins': [
'enable_resultdb',
],
'swarming': {
'shards': 18,
},
}
},
'fuchsia_sizes_tests': {
'fuchsia_sizes': {
'merge': {
'script': '//tools/perf/process_perf_results.py',
},
'args': [
'--sizes-path',
'fuchsia/release/size_tests/fyi_sizes_smoketest.json',
],
},
},
'gl_gtests_passthrough': {
'gl_tests_passthrough': {
'test': 'gl_tests',
'args': [
'--use-cmd-decoder=passthrough',
],
'linux_args': ['--no-xvfb'],
'swarming': {
'shards': 2,
},
},
'gl_unittests': {},
},
'goma_gtests': {
'base_unittests': {},
'content_unittests': {},
},
'goma_mac_gtests': {
'base_unittests': {
'swarming': {
'dimension_sets': [
{
'os': 'Mac-10.13',
},
],
}
},
'content_unittests': {
'swarming': {
'dimension_sets': [
{
'os': 'Mac-10.13',
},
],
},
},
},
# BEGIN tests which run on the GPU bots
'gpu_angle_deqp_egl_d3d11_gtests': {
'angle_deqp_egl_d3d11_tests': {
'args': [
'angle_deqp_egl_tests',
'--use-angle=d3d11',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_egl_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_egl_gl_gtests': {
'angle_deqp_egl_gl_tests': {
'args': [
'angle_deqp_egl_tests',
'--use-angle=gl',
'--bot-mode',
# Flaky when run with multiple processes.
'--max-processes=1',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_egl_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_egl_gles_gtests': {
'angle_deqp_egl_gles_tests': {
'args': [
'angle_deqp_egl_tests',
'--use-angle=gles',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 4,
},
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_egl_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_egl_metal_gtests': {
'angle_deqp_egl_metal_tests': {
'args': [
'angle_deqp_egl_tests',
'--use-angle=metal',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_egl_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_egl_vulkan_gtests': {
'angle_deqp_egl_vulkan_tests': {
'args': [
'angle_deqp_egl_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 4,
},
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_egl_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles2_d3d11_gtests': {
'angle_deqp_gles2_d3d11_tests': {
'args': [
'angle_deqp_gles2_tests',
'--use-angle=d3d11',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_gles2_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles2_gl_gtests': {
'angle_deqp_gles2_gl_tests': {
'args': [
'angle_deqp_gles2_tests',
'--use-angle=gl',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_gles2_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles2_gles_gtests': {
'angle_deqp_gles2_gles_tests': {
'args': [
'angle_deqp_gles2_tests',
'--use-angle=gles',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 4,
},
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_gles2_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles2_metal_gtests': {
'angle_deqp_gles2_metal_tests': {
'args': [
'angle_deqp_gles2_tests',
'--use-angle=metal',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_gles2_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles2_vulkan_gtests': {
'angle_deqp_gles2_vulkan_tests': {
'args': [
'angle_deqp_gles2_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 4,
},
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_gles2_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles31_d3d11_gtests': {
'angle_deqp_gles31_d3d11_tests': {
'args': [
'angle_deqp_gles31_tests',
'--use-angle=d3d11',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_gles31_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles31_gl_gtests': {
'angle_deqp_gles31_gl_tests': {
'args': [
'angle_deqp_gles31_tests',
'--use-angle=gl',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_gles31_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles31_vulkan_gtests': {
'angle_deqp_gles31_vulkan_tests': {
'args': [
'angle_deqp_gles31_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 20,
},
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_gles31_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles31_vulkan_rotate180_gtests': {
'angle_deqp_gles31_vulkan_rotate180_tests': {
'args': [
'angle_deqp_gles31_rotate180_tests',
'--use-angle=vulkan',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 1,
},
'test': 'angle_deqp_gles31_rotate180_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles31_vulkan_rotate270_gtests': {
'angle_deqp_gles31_vulkan_rotate270_tests': {
'args': [
'angle_deqp_gles31_rotate270_tests',
'--use-angle=vulkan',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 1,
},
'test': 'angle_deqp_gles31_rotate270_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles31_vulkan_rotate90_gtests': {
'angle_deqp_gles31_vulkan_rotate90_tests': {
'args': [
'angle_deqp_gles31_rotate90_tests',
'--use-angle=vulkan',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 1,
},
'test': 'angle_deqp_gles31_rotate90_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_d3d11_gtests': {
'angle_deqp_gles3_d3d11_tests': {
'args': [
'angle_deqp_gles3_tests',
'--use-angle=d3d11',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_gles3_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_gl_gtests': {
'angle_deqp_gles3_gl_tests': {
'args': [
'angle_deqp_gles3_tests',
'--use-angle=gl',
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 4,
},
'test': 'angle_deqp_gles3_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_gles_gtests': {
'angle_deqp_gles3_gles_tests': {
'args': [
'angle_deqp_gles3_tests',
'--use-angle=gles',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 12,
},
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_gles3_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_metal_gtests': {
'angle_deqp_gles3_metal_tests': {
'args': [
'angle_deqp_gles3_tests',
'--use-angle=metal',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 4,
},
'test': 'angle_deqp_gles3_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_vulkan_gtests': {
'angle_deqp_gles3_vulkan_tests': {
'args': [
'angle_deqp_gles3_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 12,
},
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 4,
},
'test': 'angle_deqp_gles3_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_vulkan_rotate180_gtests': {
'angle_deqp_gles3_vulkan_rotate180_tests': {
'args': [
'angle_deqp_gles3_rotate180_tests',
'--use-angle=vulkan',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_gles3_rotate180_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_vulkan_rotate270_gtests': {
'angle_deqp_gles3_vulkan_rotate270_tests': {
'args': [
'angle_deqp_gles3_rotate270_tests',
'--use-angle=vulkan',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_gles3_rotate270_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_gles3_vulkan_rotate90_gtests': {
'angle_deqp_gles3_vulkan_rotate90_tests': {
'args': [
'angle_deqp_gles3_rotate90_tests',
'--use-angle=vulkan',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'swarming': {
'shards': 2,
},
'test': 'angle_deqp_gles3_rotate90_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_khr_gles2_vulkan_gtests': {
'angle_deqp_khr_gles2_vulkan_tests': {
'args': [
'angle_deqp_khr_gles2_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'desktop_args': [
'--bot-mode',
],
'test': 'angle_deqp_khr_gles2_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_khr_gles31_vulkan_gtests': {
'angle_deqp_khr_gles31_vulkan_tests': {
'args': [
'angle_deqp_khr_gles31_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 2,
},
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_khr_gles31_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_khr_gles32_vulkan_gtests': {
'angle_deqp_khr_gles32_vulkan_tests': {
'args': [
'angle_deqp_khr_gles32_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_khr_gles32_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_deqp_khr_gles3_vulkan_gtests': {
'angle_deqp_khr_gles3_vulkan_tests': {
'args': [
'angle_deqp_khr_gles3_tests',
'--use-angle=vulkan',
],
'android_args': [
'-v',
'--shard-timeout=500',
],
'android_swarming': {
'shards': 2,
},
'desktop_args': [
'--bot-mode',
],
'merge': {
'script': '//third_party/angle/scripts/angle_deqp_test_merge.py',
},
'test': 'angle_deqp_khr_gles3_tests',
'use_isolated_scripts_api': True,
},
},
'gpu_angle_end2end_gtests': {
'angle_end2end_tests': {
'android_args': [
'--shard-timeout=180',
'-v',
],
'android_swarming': {
'shards': 4,
},
'args': [
'angle_end2end_tests',
'--gtest_filter=-*Vulkan_SwiftShader*',
],
'desktop_args': [
'--bot-mode',
],
# Linux has issues with creating too many windows at once.
'linux_args': [
'--max-processes=4',
],
'swarming': {
'shards': 2,
},
'use_isolated_scripts_api': True,
},
},
'gpu_angle_end2end_with_retry_gtests': {
'angle_end2end_tests': {
'args': [
'angle_end2end_tests',
'--gtest_filter=-*Vulkan_SwiftShader*',
'--bot-mode',
'--flaky-retries=2',
],
# Linux has issues with creating too many windows at once.
'linux_args': [
'--max-processes=4',
],
'swarming': {
'shards': 2,
},
'use_isolated_scripts_api': True,
},
},
'gpu_angle_fuchsia_unittests_isolated_scripts': {
'angle_unittests': {
'args': [
'bin/run_angle_unittests',
],
'mixins': ['fuchsia_runner_logs'],
},
},
'gpu_angle_gles1_conformance_gtests': {
'angle_gles1_conformance_tests': {
'android_args': [
'--shard-timeout=180',
'-v',
],
'args': [
'angle_gles1_conformance_tests',
'--test-timeout=40',
],
'desktop_args': [
'--bot-mode',
],
'use_isolated_scripts_api': True,
},
},
# Actually uploads results to the perf dashboard
'gpu_angle_perf_isolated_scripts': {
'angle_perftests': {
'args': [
'angle_perftests',
'--non-telemetry=true',
'--gtest-benchmark-name=angle_perftests',
'-v',
'--test-timeout=100',
],
'android_args': [
'--test-launcher-batch-limit=1',
],
'desktop_args': [
'--batch-size=1',
'--bot-mode',
'--max-processes=1',
'--print-test-stdout',
],
'merge': {
'script': '//tools/perf/process_perf_results.py',
},
'android_swarming': {
'shards': 6,
},
},
},
# The angle perf tests should eventually be run on every platform
# ANGLE supports. Currently they run on Windows, Linux and Android.
'gpu_angle_perf_smoke_isolated_scripts': {
'angle_perftests': {
'args': [
'angle_perftests',
'--non-telemetry=true',
'--gtest-benchmark-name=angle_perftests',
'-v',
# Tell the tests to exit after one frame for faster iteration.
'--one-frame-only',
'--test-timeout=100',
],
'android_args': [
'--test-launcher-batch-limit=1',
],
'desktop_args': [
'--batch-size=1',
'--bot-mode',
'--max-processes=1',
'--print-test-stdout',
],
'merge': {
'script': '//tools/perf/process_perf_results.py',
# Does not upload to the perf dashboard
'args': [
'--smoke-test-mode',
],
},
'swarming': {
'shards': 2,
},
'android_swarming': {
'shards': 6,
},
},
},
'gpu_angle_restricted_trace_gold_isolated_scripts': {
'angle_restricted_trace_gold_tests': {
'android_args': [
'-v',
],
'args': [
'--test-machine-name',
'${buildername}',
],
'mixins': [
'angle_skia_gold_test',
'chrome-gpu-gold-service-account',
],
}
},
'gpu_angle_unit_gtests': {
'angle_unittests': {
'args': [
'angle_unittests',
],
'android_args': [
'-v',
],
'use_isolated_scripts_api': True,
},
},
'gpu_angle_white_box_gtests': {
# TODO(ynovikov): the old generator script said the white box
# tests are supposed to run everywhere angle_end2end_tests do, but
# they actually ran only on Windows and Linux.
'angle_white_box_tests': {
'android_args': [
'--shard-timeout=180',
'-v',
],
'args': [
'angle_white_box_tests',
],
'desktop_args': [
'--bot-mode',
],
'use_isolated_scripts_api': True,
},
},
'gpu_blink_web_tests_skia_renderer': {
'skia_renderer_gl_blink_web_tests': {
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'args': [
'--num-retries=3',
'--additional-driver-flag=--enable-gpu-rasterization',
'--additional-driver-flag=--enable-features=UseSkiaRenderer',
'--additional-driver-flag=--use-gl=any',
'--additional-driver-flag=--enable-oop-rasterization',
'--additional-driver-flag=--disable-software-compositing-fallback',
'--additional-driver-flag=--disable-headless-mode',
'--no-xvfb',
'--fuzzy-diff',
'--skipped=always',
'--test-list=../../testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter',
'--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer',
'--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/enable-gpu-rasterization',
'--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/use-gl=any',
],
'isolate_name': 'blink_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
},
},
'gpu_blink_web_tests_vulkan': {
'vulkan_native_blink_web_tests': {
# layout test failures are retried 3 times when '--test-list' is not
# passed, but 0 times when '--test-list' is passed. We want to always
# retry 3 times, so we explicitly specify it.
'args': [
'--num-retries=3',
'--additional-driver-flag=--enable-gpu-rasterization',
'--additional-driver-flag=--enable-features=UseSkiaRenderer,Vulkan',
'--additional-driver-flag=--use-gl=any',
'--additional-driver-flag=--enable-oop-rasterization',
'--additional-driver-flag=--disable-software-compositing-fallback',
'--additional-driver-flag=--use-vulkan=native',
'--additional-driver-flag=--disable-vulkan-fallback-to-gl-for-testing',
'--additional-driver-flag=--disable-headless-mode',
'--no-xvfb',
'--fuzzy-diff',
'--skipped=always',
'--driver-logging',
'--test-list=../../testing/buildbot/filters/gpu.skiarenderer_vulkan_blink_web_tests.filter',
'--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/enable-features=UseSkiaRenderer',
'--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/enable-gpu-rasterization',
'--additional-expectations=../../third_party/blink/web_tests/FlagExpectations/use-vulkan=native',
],
'isolate_name': 'blink_web_tests',
'merge': {
'args': [
'--verbose',
],
'script': '//third_party/blink/tools/merge_web_test_results.py',
},
'resultdb': {
'enable': True,
},
'results_handler': 'layout tests',
},
},
# The command buffer perf tests are only run on Windows.
# They are mostly driver and platform independent.
'gpu_command_buffer_perf_passthrough_isolated_scripts': {
'passthrough_command_buffer_perftests': {
'args': [
'--gtest-benchmark-name=passthrough_command_buffer_perftests',
'-v',
'--use-cmd-decoder=passthrough',
'--use-angle=gl-null',
'--fast-run',
],
'isolate_name': 'command_buffer_perftests',
'merge': {
'script': '//tools/perf/process_perf_results.py',
'args': [
'--smoke-test-mode',
],
},
'should_retry_with_patch': False,
},
},
'gpu_common_and_optional_telemetry_tests': {
'info_collection': {
'args': [
'--expected-vendor-id',
'${gpu_vendor_id}',
'$$MAGIC_SUBSTITUTION_GPUExpectedDeviceId',
# On dual-GPU devices we want the high-performance GPU to be active
'--extra-browser-args=--force_high_performance_gpu',
],
'chromeos_args': [
'$$MAGIC_SUBSTITUTION_ChromeOSTelemetryRemote',
],
'lacros_args': [
'--extra-browser-args=--enable-features=UseOzonePlatform --ozone-platform=wayland',
'--xvfb',
'--no-xvfb',
'--use-weston',
'--weston-use-gl',
],
'mixins': [
'enable_resultdb',
],
},
'trace_test': {
'chromeos_args': [
'$$MAGIC_SUBSTITUTION_ChromeOSTelemetryRemote',
],
'lacros_args': [
'--extra-browser-args=--enable-features=UseOzonePlatform --ozone-platform=wayland',
'--xvfb',
'--no-xvfb',
'--use-weston',
'--weston-use-gl',
],
'mixins': [
'enable_resultdb',
],
},
},
# GPU gtests which run on both the main and FYI waterfalls.
'gpu_common_gtests_passthrough': {
'gl_tests_passthrough': {
'test': 'gl_tests',
'args' : [
'--use-cmd-decoder=passthrough',
'--use-gl=angle',
],
'desktop_args': [
'--use-gpu-in-tests',
],
'linux_args': ['--no-xvfb'],
'swarming': {
'shards': 2,
},
},
'gl_unittests': {
'desktop_args': ['--use-gpu-in-tests'],
'linux_args': ['--no-xvfb'],
},
},
'gpu_common_gtests_validating': {
'gl_tests_validating': {
'test': 'gl_tests',
'args' : [
'--use-cmd-decoder=validating',
],
'desktop_args': [
'--use-gpu-in-tests',
],
'linux_args': ['--no-xvfb'],
},
'gl_unittests': {
'desktop_args': ['--use-gpu-in-tests'],
'linux_args': ['--no-xvfb'],
},
},
# GPU gtests that test only Dawn
'gpu_dawn_gtests': {
'dawn_end2end_skip_validation_tests': {
'mixins': ['dawn_end2end_gpu_test'],
'args': [
'--enable-toggles=skip_validation',
],
'linux_args': [ '--no-xvfb' ],
'test': 'dawn_end2end_tests',
},
'dawn_end2end_tests': {
'mixins': ['dawn_end2end_gpu_test'],
'linux_args': [ '--no-xvfb' ],
},
'dawn_end2end_wire_tests': {
'mixins': ['dawn_end2end_gpu_test'],
'args': [
'--use-wire',
],
'linux_args': [ '--no-xvfb' ],
'test': 'dawn_end2end_tests',
},
},
# GPU gtests that test only Dawn with backend validation layers
'gpu_dawn_gtests_with_validation': {
'dawn_end2end_validation_layers_tests': {
'mixins': ['dawn_end2end_gpu_test'],
'args': [
'--enable-backend-validation',
],
'linux_args': [ '--no-xvfb' ],
'test': 'dawn_end2end_tests',
},
},
# GPU gtests that test only Dawn with backend validation layers
# to accommodate less powerful Intel GPUs
'gpu_dawn_gtests_with_validation_win_intel': {
'dawn_end2end_validation_layers_tests': {
'mixins': ['dawn_end2end_gpu_test'],
'args': [
'--enable-backend-validation=partial',
],
'linux_args': [ '--no-xvfb' ],
'test': 'dawn_end2end_tests',
},
},
'gpu_dawn_perf_smoke_isolated_scripts': {
'dawn_perf_tests': {
'args': [
# Tell the tests to only run one step for faster iteration.
'--override-steps=1',
'--gtest-benchmark-name=dawn_perf_tests',
'-v',
],
'merge': {
'script': '//tools/perf/process_perf_results.py',
# Does not upload to the perf dashboard
'args': [
'--smoke-test-mode',
],
},
},
},
'gpu_default_and_optional_win_specific_gtests': {
'xr_browser_tests': {
# The Windows machines this is run on should always meet all the
# requirements, so skip the runtime checks to help catch issues, e.g.
# if we're incorrectly being told a DirectX 11.1 device isn't
# available
'args': [
'--ignore-runtime-requirements=*',
],
'test': 'xr_browser_tests',
},
},
'gpu_desktop_specific_gtests': {
'tab_capture_end2end_tests': {
'args': [
'--enable-gpu',
'--test-launcher-bot-mode',
'--test-launcher-jobs=1',
'--gtest_filter=TabCaptureApiPixelTest.EndToEnd*',
],
'linux_args': [ '--no-xvfb' ],
'test': 'browser_tests',
},
},
'gpu_fyi_and_optional_non_linux_gtests': {
# gpu_unittests is killing the Swarmed Linux GPU bots similarly to
# how content_unittests was: http://crbug.com/763498 .
'gpu_unittests': {
},
},
'gpu_fyi_and_optional_win_specific_gtests': {
'gles2_conform_d3d9_test': {
'args': [
'--use-gpu-in-tests',
'--use-angle=d3d9',
],
'test': 'gles2_conform_test',
},
'gles2_conform_gl_test': {
'args': [
'--use-gpu-in-tests',
'--use-angle=gl',
'--disable-gpu-sandbox',
],
'test': 'gles2_conform_test',
},
},
'gpu_fyi_mac_specific_gtests': {
# Face and barcode detection unit tests, which currently only run on
# Mac OS, and require physical hardware.
'services_unittests': {
'args': [
'--gtest_filter=*Detection*',
'--use-gpu-in-tests'
],
},
},
'gpu_fyi_vulkan_gtests': {
'vulkan_content_browsertests': {
'args': [
'--enable-gpu',
'--test-launcher-bot-mode',
'--test-launcher-jobs=1',
'--test-launcher-filter-file=../../testing/buildbot/filters/vulkan.content_browsertests.filter',
'--enable-features=UseSkiaRenderer,UiGpuRasterization,Vulkan',
'--use-vulkan=native',
'--enable-oop-rasterization',
'--enable-gpu-rasterization',
'--disable-software-compositing-fallback',
'--disable-vulkan-fallback-to-gl-for-testing',
'--disable-headless-mode',
],
'linux_args': [ '--no-xvfb' ],
'test': 'content_browsertests',
},
'vulkan_tests': {
'args': [
'--enable-gpu',
'--test-launcher-bot-mode',
'--test-launcher-jobs=1',
'--disable-headless-mode',
],
'linux_args': [ '--no-xvfb' ],
'test': 'vulkan_tests',
},
},
'gpu_fyi_vulkan_swiftshader_gtests': {
'vulkan_swiftshader_content_browsertests': {
'args': [
'--enable-gpu',
'--test-launcher-bot-mode',
'--test-launcher-jobs=1',
'--test-launcher-filter-file=../../testing/buildbot/filters/vulkan.content_browsertests.filter',
'--enable-features=UseSkiaRenderer,UiGpuRasterization,Vulkan',
'--use-vulkan=swiftshader',
'--enable-oop-rasterization',
'--enable-gpu-rasterization',
'--disable-software-compositing-fallback',
'--disable-vulkan-fallback-to-gl-for-testing',
'--disable-headless-mode',
],
'linux_args': [ '--no-xvfb' ],
'test': 'content_browsertests',
},
},
# TODO(crbug.com/894929): remove it when SkiaRenderer is shipped on macOS.
'gpu_gl_renderer_full_telemetry_tests': {
'gl_renderer_context_lost_tests': {
'telemetry_test_name': 'context_lost',
'args': [
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'mixins': [
'enable_resultdb',
],
},
'gl_renderer_depth_capture_tests': {
'telemetry_test_name': 'depth_capture',
'args': [
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'mixins': [
'enable_resultdb',
],
},
'gl_renderer_gpu_process_launch_tests': {
'telemetry_test_name': 'gpu_process',
'args': [
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'mixins': [
'enable_resultdb',
],
},
'gl_renderer_hardware_accelerated_feature_tests': {
'telemetry_test_name': 'hardware_accelerated_feature',
'args': [
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'mixins': [
'enable_resultdb',
],
},
'gl_renderer_maps_pixel_tests': {
'telemetry_test_name': 'maps',
'args': [
'--dont-restore-color-profile-after-test',
'--test-machine-name',
'${buildername}',
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'mixins': [
'chrome-gpu-gold-service-account',
'enable_resultdb',
'skia_gold_test',
],
},
'gl_renderer_pixel_skia_gold_tests': {
'telemetry_test_name': 'pixel',
'args': [
'--dont-restore-color-profile-after-test',
'--test-machine-name',
'${buildername}',
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'mixins': [
'chrome-gpu-gold-service-account',
'enable_resultdb',
'skia_gold_test',
],
},
'gl_renderer_screenshot_sync_tests': {
'telemetry_test_name': 'screenshot_sync',
'args': [
'--dont-restore-color-profile-after-test',
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'mixins': [
'enable_resultdb',
],
},
},
# Very small set of test that exercise GLRenderer and produce pixels for CQ.
# For use where SkiaRenderer is enabled by field trial or default.
'gpu_gl_renderer_small_telemetry_tests': {
'gl_renderer_screenshot_sync': {
'args': [
'--dont-restore-color-profile-after-test',
'--extra-browser-args=--disable-features=UseSkiaRenderer',
],
'android_args': [
# TODO(crbug.com/1093085): Remove this once we fix the tests.
'--extra-browser-args=--force-online-connection-state-for-indicator',
],
'telemetry_test_name': 'screenshot_sync',
'mixins':