# 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.

# Exceptions to the common test suites can only include removal from
# particular bots, and modifications on particular bots. By design,
# it's not possible to add one-off tests to bots. Instead they have to
# be added to one of the test suites in test_suites.pyl.
#
# Note that if you are excluding with variants, you will need to exclude
# per variant, with the identifier appended to the test suite name.
# For example, if you have ios_chrome_ui_eg2tests_module with variant
# SIM_IPHONE_6S_14_0 (identifier = "iPhone 6s 14.0"), you
# must exclude with the test name as:
# "ios_chrome_ui_eg2tests_module_iPhone 6s 14.0"

# The goal is to drive the number of exceptions to zero, to make all
# the bots behave similarly.
{
  'accessibility_unittests':{
    'modifications': {
      'fuchsia-fyi-x64-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.lsan.accessibility_unittests.filter',
        ],
      },
    },
  },
  'android_browsertests': {
    'modifications': {
      'Marshmallow Tablet Tester': {
        'swarming': {
          'shards': 2,
        },
      },
      'android-11-x86-rel': {
        'args': [
          # https://crbug.com/1289764
          '--gtest_filter=-All/ChromeBrowsingDataLifetimeManagerScheduledRemovalTest.History/*',
        ],
        'swarming': {
          'shards': 2,
        },
      },
      'android-12-x64-rel': {
        'args': [
          # https://crbug.com/1289764
          '--gtest_filter=-All/ChromeBrowsingDataLifetimeManagerScheduledRemovalTest.History/*',
        ],
        'swarming': {
          'shards': 2,
        },
      },
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'quickrun_shards': 3,
        },
      },
      'android-marshmallow-x86-fyi-rel-reviver': {
        'swarming': {
          'shards': 2,
          'quickrun_shards': 6,
        },
      },
      'android-marshmallow-x86-rel': {
        'swarming': {
          'shards': 2,
          'quickrun_shards': 6,
        },
      },
      'android-nougat-x86-rel': {
        'swarming': {
          'shards': 2,
        },
      },
      'android-pie-arm64-rel': {
        'args': [
          '--gtest_filter=-ImportantSitesUtilBrowserTest.DSENotConsideredImportantInRegularMode', # https://crbug.com/1034001
        ],
        # TODO(crbug.com/1111436): Move this back to walleye if/when additional
        # capacity has been deployed.
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'sailfish',
            },
          ],
          'shards': 2,
          'quickrun_shards': 6,
        },
      },
      'android-pie-x86-rel': {
        'args': [
          '--gtest_filter=-ImportantSitesUtilBrowserTest.DSENotConsideredImportantInRegularMode', # https://crbug.com/1034001
        ],
        'swarming': {
          'shards': 2,
        },
      },
    },
  },
  'android_sync_integration_tests': {
   'remove_from': [
      # Remove from CQ bots due to capacity.
      'android-marshmallow-arm64-rel',
   ],
   'modifications': {
      'android-12-x64-rel': {
        'swarming': {
          'shards': 3,
        },
      },
      'android-marshmallow-x86-rel': {
        'swarming': {
          'shards': 3,
        },
      },
   },
  },
  'android_webview_unittests': {
  },
  'angle_end2end_tests': {
    'modifications': {
      'win10-angle-x64-intel': {
        'args': [
          '--max-processes=1',
        ],
      },
    },
  },
  'angle_unittests': {
    'remove_from': [
      # On Android, these are already run on the main waterfall.
      'Android FYI Release (Nexus 5X)',
      # Times out listing tests crbug.com/1167314
      'android-asan',
      # Does not currently work on Lacros configurations.
      'linux-lacros-asan-lsan-rel',
      'linux-lacros-code-coverage',
      'linux-lacros-tester-rel',
      'linux-lacros-tester-fyi-rel',
      'linux-lacros-dbg-tests-fyi',
    ],
    'modifications': {
      # anglebug.com/6894
      'fuchsia-fyi-x64-asan': {
        'args': [
          # crbug.com/
          '--gtest_filter=-ConstructCompilerTest.DefaultParameters',
        ],
      },
    },
  },
  'angle_white_box_tests': {
    'modifications': {
      'win10-angle-x64-intel': {
        'args': [
          '--max-processes=1',
        ],
      },
    },
  },
  'aura_unittests amd64-generic': {
    'remove_from': [
      # TODO(crbug.com/1204231): Re-enable.
      'lacros-amd64-generic-rel',
    ]
  },
  'aura_unittests eve': {
    'remove_from': [
      # TODO(crbug.com/1204231): Re-enable.
      'lacros-amd64-generic-rel',
    ]
  },
  'base_unittests': {
    'modifications': {
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.base_unittests.filter',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.base_unittests.filter',
          '--gtest_filter=-ModuleCacheTest.CheckAgainstProcMaps',  # crbug.com/1260521
        ],
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 5,
        },
      },
      'fuchsia-fyi-x64-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.lsan.base_unittests.filter',
        ],
      },
    },
  },
  'blink_platform_unittests': {
    'modifications': {
      # TODO(crbug.com/1303439): Remove this filter
      'android-nougat-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_n.blink_platform_unittests.filter',
        ],
      },
      'android-pie-arm64-rel': {
        # TODO(crbug.com/1111436): Move this back to walleye if/when additional
        # capacity has been deployed.
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'sailfish',
            },
          ],
        },
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 5,
        },
      },
    },
  },
  'blink_unittests': {
    'modifications': {
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 30,
        },
      },
    },
  },
  'blink_web_tests': {
    'remove_from': [
      'Win 7 Tests x64 (1)',  # 64-bit win is unsupported by the layout tests.
      'Win7 Tests (1)',
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      'Fuchsia x64': {
        'args': [
          '--platform=fuchsia',
          '--jobs=1',
        ],
        'swarming': {
          'shards': 1,
        },
      },
      'Linux Tests': {
        "args": [
          "--additional-env-var=LLVM_PROFILE_FILE=${ISOLATED_OUTDIR}/profraw/default-%2m.profraw",
        ],
        'swarming': {
          'quickrun_shards': 7,
          'shards': 8,
        },
      },
      'Linux Tests (dbg)(1)': {
        'args': [
          '--debug',
        ],
        'swarming': {
          'shards': 12,
        },
      },
      'Mac10.13 Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'gpu': None,
            },
          ],
          'shards': 10,
        },
      },
      'Mac10.15 Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'gpu': None,
            },
          ],
          'shards': 10,
        },
      },
      'Mac11 Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'gpu': None,
            },
          ],
          'shards': 12,
          'quickrun_shards': 10,
        },
      },
      'Mac12 Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'gpu': None,
            },
          ],
          'shards': 25,
          'quickrun_shards': 26,
        },
      },
      'Mac12 Tests (dbg)': {
        'experiment_percentage': 100,
        'args': [
          '--debug',
        ],
        'swarming': {
          'shards': 16,
        },
      },
      'ToTFuchsia x64': {
        'args': [
          '--platform=fuchsia',
        ],
        'swarming': {
          'shards': 1,
        },
      },
      'V8 Blink Linux Debug': {
        # This builder compiles Chromium in release mode, but V8 in debug.
        # TODO(machenbach): Change name and out directory of this builder to
        # something less confusing.
        'args': [
          '-t',
          'Debug',
          '--release',
        ],
      },
      'V8 Blink Linux Future': {
        'args': [
          '--flag-specific=future-js',
        ],
      },
      'WebKit Linux ASAN': {
        'args': [
          '--additional-expectations',
          '../../third_party/blink/web_tests/ASANExpectations',
          '--timeout-ms',
          '48000',
          '--enable-sanitizer',
        ],
        'swarming': {
          'shards': 8,
        },
      },
      'WebKit Linux Leak': {
        'args': [
          '--additional-expectations',
          '../../third_party/blink/web_tests/LeakExpectations',
          '--timeout-ms',
          '48000',
          '--enable-leak-detection',
        ],
        'swarming': {
          'shards': 4,
        },
      },
      'WebKit Linux MSAN': {
        'args': [
          '--additional-expectations',
          '../../third_party/blink/web_tests/MSANExpectations',
          '--timeout-ms',
          '66000',
          '--enable-sanitizer',
        ],
        'swarming': {
          'expiration': 36000,
          'hard_timeout': 10800,
          'io_timeout': 3600,
          'shards': 8,
        },
      },
      'Win10 Tests x64': {
        'args': [
          '--target',
          'Release_x64',
        ],
        'swarming': {
          "shards": 12
        },
      },
      'Win10 Tests x64 (dbg)': {
        'args': [
          '--debug',
          '--target',
          'Debug_x64',
        ],
      },
      'Win11 Tests x64': {
        'args': [
          '--target',
          'Release_x64',
        ],
        'swarming': {
          "shards": 12
        },
      },
      # tryserver.chromium.android
      'android_blink_rel': {
        'args': [
          '--release',
          '--android',
          # TODO(crbug.com/912120): Breakpad was entirely disabled on
          # Android. Remove this when it no longer affects Android crash
          # log handling.
          '--disable-breakpad',
          # TODO(crbug.com/875172): run on the real GPU since the
          # software fallback, SwiftShader, isn't yet for 32-bit ARM.
          '--additional-driver-flag=--use-gpu-in-tests',
        ],
      },
      'devtools_frontend_linux_blink_light_rel': {
        'args': [
          'http/tests/devtools',
        ],
        'swarming': {
          'shards': 2,
        },
      },
      'devtools_frontend_linux_blink_light_rel_fastbuild': {
        'args': [
          'http/tests/devtools',
        ],
        'swarming': {
          'shards': 2,
        },
      },
      'fuchsia-fyi-x64-rel': {
        'args': [
          '--platform=fuchsia',
        ],
        'swarming': {
          'shards': 1,
        },
      },
      'linux-autofill-assistant': {
        'args': [
          '--release',
        ],
      },
      'linux-bfcache-rel': {
        'args': [
          '--flag-specific=enable-back-forward-cache-same-site',
        ],
      },
      'linux-blink-animation-use-time-delta': {
        'args': [
          '--debug',
        ],
      },
      'linux-blink-web-tests-force-accessibility-rel': {
        'args': [
          '--flag-specific=force-renderer-accessibility',
        ],
      },
      'linux-code-coverage': {
        'args': [
          '--additional-env-var=LLVM_PROFILE_FILE=${ISOLATED_OUTDIR}/profraw/default-%2m.profraw',
        ],
        'swarming': {
          'shards': 8,
        },
      },
      'linux-layout-tests-edit-ng': {
        'args': [
          '--flag-specific=enable-editing-ng',
        ],
      },
      'linux_layout_tests_layout_ng_disabled': {
        'args': [
          '--flag-specific=disable-layout-ng',
        ],
        'swarming': {
          'shards': 8,
        },
      },
      'mac10.13-blink-rel-dummy': {
        'swarming': {
          'shards': 1,
        },
      },
      'mac10.14-blink-rel-dummy': {
        'swarming': {
          'shards': 1,
        },
      },
      'mac10.15-blink-rel-dummy': {
        'swarming': {
          'shards': 8,
        },
      },
      'mac11.0-blink-rel-dummy': {
        'swarming': {
          'shards': 5,
          'hard_timeout': 1800,
        },
      },
      'win10.20h2-blink-rel-dummy': {
        'swarming': {
          'shards': 6,
          'hard_timeout': 1200,
        },
      },
      'win11-blink-rel': {
        'swarming': {
          'hard_timeout': 1200,
        },
        'args': [
          '--target',
          'Release_x64',
        ],
      },
    },
  },
  'blink_wpt_tests': {
    'remove_from': [
      'Win 7 Tests x64 (1)',  # 64-bit win is unsupported by the layout tests.
      'Win7 Tests (1)',
      'Win10 Tests x64 (dbg)',
      'devtools_frontend_linux_blink_light_rel',
      'devtools_frontend_linux_blink_light_rel_fastbuild',
    ],
    'modifications': {
      'Fuchsia x64': {
        'args': [
          '--platform=fuchsia',
          '--jobs=1',
        ],
        'swarming': {
          'shards': 1,
        },
      },
      'Linux Tests': {
        "args": [
          "--additional-env-var=LLVM_PROFILE_FILE=${ISOLATED_OUTDIR}/profraw/default-%2m.profraw",
        ],
        'swarming': {
          'quickrun_shards': 11,
          'shards': 10,
        },
      },
      'Linux Tests (dbg)(1)': {
        'args': [
          '--debug',
        ],
        'swarming': {
          'shards': 18,
        },
      },
      'Mac10.13 Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'gpu': None,
            },
          ],
          'shards': 15,
        },
      },
      'Mac10.15 Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'gpu': None,
            },
          ],
          'shards': 15,
        },
      },
      'Mac11 Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'gpu': None,
            },
          ],
          'shards': 18,
          'quickrun_shards': 16,
        },
      },
      'Mac12 Tests (dbg)': {
        'experiment_percentage': 100,
        'args': [
          '--debug',
        ],
        'swarming': {
          'shards': 24,
        },
      },
      'ToTFuchsia x64': {
        'args': [
          '--platform=fuchsia',
        ],
        'swarming': {
          'shards': 1,
        },
      },
      'V8 Blink Linux Debug': {
        # This builder compiles Chromium in release mode, but V8 in debug.
        # TODO(machenbach): Change name and out directory of this builder to
        # something less confusing.
        'args': [
          '-t',
          'Debug',
          '--release',
        ],
      },
      'V8 Blink Linux Future': {
        'args': [
          '--flag-specific=future-js',
        ],
      },
      'WebKit Linux ASAN': {
        'args': [
          '--additional-expectations',
          '../../third_party/blink/web_tests/ASANExpectations',
          '--timeout-ms',
          '48000',
          '--enable-sanitizer',
        ],
        'swarming': {
          'shards': 12,
        },
      },
      'WebKit Linux Leak': {
        'args': [
          '--additional-expectations',
          '../../third_party/blink/web_tests/LeakExpectations',
          '--timeout-ms',
          '48000',
          '--enable-leak-detection',
        ],
        'swarming': {
          'shards': 6,
        },
      },
      'WebKit Linux MSAN': {
        'args': [
          '--additional-expectations',
          '../../third_party/blink/web_tests/MSANExpectations',
          '--timeout-ms',
          '66000',
          '--enable-sanitizer',
        ],
        'swarming': {
          'expiration': 36000,
          'hard_timeout': 10800,
          'io_timeout': 3600,
          'shards': 12,
        },
      },
      'Win10 Tests x64': {
        'args': [
          '--target',
          'Release_x64',
        ],
        'swarming': {
          "shards": 18
        },
      },
      'Win10 Tests x64 (dbg)': {
        'args': [
          '--debug',
          '--target',
          'Debug_x64',
        ],
      },
      'Win11 Tests x64': {
        'args': [
          '--target',
          'Release_x64',
        ],
        'swarming': {
          "shards": 18
        },
      },
      # tryserver.chromium.android
      'android_blink_rel': {
        'args': [
          '--release',
          '--android',
          # TODO(crbug.com/912120): Breakpad was entirely disabled on
          # Android. Remove this when it no longer affects Android crash
          # log handling.
          '--disable-breakpad',
          # TODO(crbug.com/875172): run on the real GPU since the
          # software fallback, SwiftShader, isn't yet for 32-bit ARM.
          '--additional-driver-flag=--use-gpu-in-tests',
        ],
      },
      'fuchsia-fyi-x64-rel': {
        'args': [
          '--platform=fuchsia',
        ],
        'swarming': {
          'shards': 1,
        },
      },
      'linux-autofill-assistant': {
        'args': [
          '--release',
        ],
      },
      'linux-bfcache-rel': {
        'args': [
          '--flag-specific=enable-back-forward-cache-same-site',
          # TODO(crbug.com/1255537): Re-enable the test.
          '--ignore-tests=external/wpt/html/browsers/browsing-the-web/back-forward-cache/events.html',
        ],
      },
      'linux-blink-animation-use-time-delta': {
        'args': [
          '--debug',
        ],
      },
      'linux-blink-web-tests-force-accessibility-rel': {
        'args': [
          '--flag-specific=force-renderer-accessibility',
        ],
      },
      'linux-code-coverage': {
        'args': [
          '--additional-env-var=LLVM_PROFILE_FILE=${ISOLATED_OUTDIR}/profraw/default-%2m.profraw',
        ],
        'swarming': {
          'shards': 12,
        },
      },
      'linux-layout-tests-edit-ng': {
        'args': [
          '--flag-specific=enable-editing-ng',
        ],
      },
      'linux_layout_tests_layout_ng_disabled': {
        'args': [
          '--flag-specific=disable-layout-ng',
        ],
        'swarming': {
          'shards': 12,
        },
      },
      'mac10.13-blink-rel-dummy': {
        'swarming': {
          'shards': 1,
        },
      },
      'mac10.14-blink-rel-dummy': {
        'swarming': {
          'shards': 1,
        },
      },
      'mac10.15-blink-rel-dummy': {
        'swarming': {
          'shards': 12,
        },
      },
      'mac11.0-blink-rel-dummy': {
        'swarming': {
          'shards': 7,
          'hard_timeout': 1800,
        },
      },
      'win10.20h2-blink-rel-dummy': {
        'swarming': {
          'shards': 9,
          'hard_timeout': 1200,
        },
      },
      'win11-blink-rel': {
        'swarming': {
          'hard_timeout': 1200,
        },
        'args': [
          '--target',
          'Release_x64',
        ],
      }
    },
  },
  'breakpad_unittests': {
    'modifications': {
      'android-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.asan.breakpad_unittests.filter',
        ],
      },
    },
  },
  'browser_tests': {
    'remove_from': [
      'CrWinAsan(dll)', # https://crbug.com/935598
      'linux-win_cross-rel',
      'ToTLinuxTSan',  # https://crbug.com/368525
      # TODO(crbug.com/1171053): Enable the suite in 'Mac10.15 Tests' once it's
      # off CQ.
      'Mac10.13 Tests', # https://crbug.com/1042757
      'Mac10.15 Tests', # https://crbug.com/1042757
      'Mac12 Tests (dbg)', # https://crbug.com/1201386
      'mac-code-coverage', # https://crbug.com/1201386
      'Linux TSan Tests',  # https://crbug.com/368525
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      'CrWinAsan': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 40,
        },
      },
      'CrWinAsan(dll)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 40,
        },
      },
      'Linux - Future (dbg)': {  # client.v8.chromium
        'swarming': {
          'shards': 10,
        },
      },
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 40,
          'quickrun_shards': 80
        },
      },
      'Linux ASan Tests (sandboxed)': {
        'swarming': {
          'shards': 30, # https://crbug.com/1103330
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 60,
        },
      },
      'Linux ChromiumOS MSan Focal': {
        # These are very slow on the Chrome OS MSAN trybot for some reason.
        # crbug.com/865455
        'swarming': {
          'shards': 40,
        },
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.msan.browser_tests.oobe_negative.filter',
        ],
      },
      'Linux ChromiumOS MSan Tests': {
        # These are very slow on the Chrome OS MSAN trybot, most likely because browser_tests on cros has ~40% more tests. Also, these tests
        # run on ash, which means every test starts and shuts down ash, which most likely explains why it takes longer than on other platforms.
        # crbug.com/865455
        'swarming': {
          'shards': 48,
        },
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.msan.browser_tests.oobe_negative.filter',
        ],
      },
      'Linux Tests': {
        'swarming': {
          'quickrun_shards': 15,
        },
      },
      # https://crbug.com/1084469
      'Linux Tests (Wayland)': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/ozone-linux.wayland_browser_tests.filter',
        ],
        'swarming': {
          'quickrun_shards': 24,
        },
      },
      'Linux Tests (dbg)(1)': {
        # crbug.com/1066161
        'swarming': {
          'shards': 20,
        },
      },
      'Mac ASan 64 Tests (1)': {
        'swarming': {
          'shards': 30,
        },
        # crbug.com/1196416
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac.mac-rel.browser_tests.filter',
        ],
        'experiment_percentage': 100, # https://crbug.com/1251657
      },
      'Mac10.15 Tests': {
        # crbug.com/1042757
        'swarming': {
          'dimension_sets': [
            {
              # These shards are liable to time out when running on macmini7,1.
              'cores': '8|12',
            }
          ],
        },
        # crbug.com/1196416
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac.mac-rel.browser_tests.filter',
        ],
      },
      'Mac11 Tests': {
        'ci_only': True,
      },
      'Mac12 Tests': {
        'ci_only': True,
      },
      'Mac12 Tests (dbg)': {
        # crbug.com/1042757
        'swarming': {
          'dimension_sets': [
            {
              # These shards are liable to time out when running on macmini7,1.
              'cores': '8|12',
            }
          ],
        },
        # crbug.com/1196416
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac.mac-rel.browser_tests.filter',
        ],
      },
      'ToTWin(dbg)': {
        'swarming': {
          'shards': 20,
        },
      },
      'ToTWin64(dbg)': {
        'swarming': {
          'shards': 20,
        },
      },
      'Win10 Tests x64': {
        # crbug.com/868082
        'args': [
          '--disable-features=WebRTC-H264WithOpenH264FFmpeg',
        ],
        'swarming': {
          # This is for slow test execution that often becomes a critical path of
          # swarming jobs. crbug.com/868114
          'shards': 15,
          'quickrun_shards': 40,
        }
      },
      'Win11 Tests x64': {
        # crbug.com/868082
        'args': [
          '--disable-features=WebRTC-H264WithOpenH264FFmpeg',
        ],
        'swarming': {
          # This is for slow test execution that often becomes a critical path of
          # swarming jobs. crbug.com/868114
          'shards': 15,
          'quickrun_shards': 30,
        }
      },
      'Win7 Tests (1)': {
        # This is for slow test execution that often becomes a critical path of
        # swarming jobs. crbug.com/868114
        'swarming': {
          'shards': 15,
        },
      },
      'linux-chromeos-chrome': {
        # TODO(https://crbug.com/932269): Promote out of experiment when the
        # tests are green.
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.browser_tests.filter',
        ],
      },
      'linux-chromeos-code-coverage': {
        'swarming': {
          'shards': 50,
        },
      },
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 50,
        },
      },
      'linux-chromeos-rel': {
        'swarming': {
          'shards': 20,
          'quickrun_shards': 40,
          'dimension_sets': [
            {
              'kvm': '1',
            },
          ],
        },
      },
      'linux-code-coverage': {
        'args': [
          '--no-sandbox',
        ],
        'swarming': {
          'shards': 50,
        },
      },
      'linux-lacros-code-coverage': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.browser_tests.filter',
        ],
      },
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.browser_tests.filter',
        ],
      },
      'linux-lacros-tester-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.browser_tests.filter',
        ],
        'swarming': {
          'quickrun_shards': 20,
        },
      },
      'mac-code-coverage': {
        'args': [
          '--coverage-continuous-mode=1',
        ],
      },
      'mac-osxbeta-rel': {
        'swarming': {
          'shards': 12,
        },
      },
      'mac11-arm64-rel-tests': {
        'ci_only': False,  # https://crbug.com/1234525
        'args': [
          # crbug.com/1262402
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac.mac11-arm64-rel.browser_tests.filter',
        ],
        'swarming': {
          'shards': 30,
        },
      },
      'mac12-arm64-rel-tests': {
        'ci_only': False,  # https://crbug.com/1234525
        'args': [
          # crbug.com/1262402
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac.mac12-arm64-rel.browser_tests.filter',
        ],
        'swarming': {
          'shards': 30,
        },
      },
      'win-asan': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 40,
        },
      },
      'win-backuprefptr-x64-fyi-rel': {
       'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/win_backuprefptr_fyi.browser_tests.filter',
        ],
      },
    },
  },
  'cc_unittests': {
    'modifications': {
      'Linux TSan Tests': {
        'swarming': {
          'shards': 3,
        },
      },
      'android-11-x86-rel': {
        # https://crbug.com/1039860
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11_12.cc_unittests.filter',
        ],
      },
      'android-12-x64-rel': {
        # https://crbug.com/1039860
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11_12.cc_unittests.filter',
        ],
      },
      'android-marshmallow-x86-rel': {
        # https://crbug.com/1039860
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.cc_unittests.filter',
        ],
      },
      'android-pie-x86-rel': {
        # https://crbug.com/1039860
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.cc_unittests.filter',
        ],
      },
      'chromeos-amd64-generic-rel': {
        'swarming': {
          'quickrun_shards': 2,
        },
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 4,
        },
      },
      'fuchsia-fyi-arm64-dbg': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.debug.cc_unittests.filter',
        ],
      },
    },
  },
  'check_static_initializers': {
    'modifications': {
      'Mac Builder': {
        'args': [
          '--allow-coverage-initializer',
        ],
      },
    },
  },
  'chrome_all_tast_tests': {
    'modifications': {
      'chromeos-amd64-generic-rel': {
        'swarming': {
          'quickrun_shards': 8,
          'shards': 7,
        },
      },
      'chromeos-betty-pi-arc-cfi-thin-lto-chrome': {
        'args': [
          # This bot sets symbol_level=2, which doesn't fit inside a normal VM.
          '--strip-chrome',
        ],
      },
      # TODO(crbug.com/1141234): Move out of experimental if/when the bots are
      # stable.
      'chromeos-jacuzzi-chrome': {
        'experiment_percentage': 100,
      },
      'chromeos-octopus-chrome': {
        'experiment_percentage': 100,
      },
    },
  },
  'chrome_java_test_pagecontroller_tests': {
    'modifications': {
      'android-pie-arm64-rel': {
        # TODO(crbug.com/1111436): Move this back to walleye if/when additional
        # capacity has been deployed.
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'sailfish',
            },
          ],
        },
      },
    },
  },
  'chrome_junit_tests': {
   'modifications': {
     'android-marshmallow-arm64-rel': {
       'args': [
         # Too many shards can lead to race conditions (crbug/1272066)
         '--shards=8',
       ],
     },
   },
  },
  'chrome_public_smoke_test': {
    'remove_from': [
      'android-code-coverage-native', # Does not generate profraw data.
      'android-pie-arm64-coverage-experimental-rel', # Does not generate profraw data.
    ],
  },
  'chrome_public_test_apk': {
    'remove_from': [
      'android-asan',  # https://crbug.com/964562
      'android-code-coverage-native', # Does not generate profraw data.
      'android-pie-arm64-coverage-experimental-rel', # Does not generate profraw data.
    ],
    'modifications': {
      'Marshmallow 64 bit Tester': {
        'swarming': {
          'shards': 14,
        },
      },
      'Marshmallow Tablet Tester': {
        'args': [
          '--timeout-scale',
          '2.0',
        ],
      },
      'Oreo Phone Tester': {
        # TODO(https://crbug.com/884413): Re-enable this once the tests are
        # either passing or there is more capacity.
        'experiment_percentage': 0,
      },
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11.chrome_public_test_apk.filter',
          '--timeout-scale=2.0',
        ],
        # TODO(https://crbug.com/1285975) Remove experiment and enable on
        # trybot once the device offline issue is resolved.
        'ci_only': True,
        'experiment_percentage': 100,
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.chrome_public_test_apk.filter',
          '--timeout-scale=2.0',
        ],
        # TODO(crbug.com/1225851): Remove experiment and ci_only
        # once the test suite is stable.
        'ci_only': True,
        'experiment_percentage': 100,
      },
      'android-arm64-proguard-rel': {
        'swarming': {
          'shards': 25,
        },
      },
      'android-marshmallow-arm64-rel-swarming': {
        'swarming': {
          'service_account': 'chrome-gold-dev@chops-service-accounts.iam.gserviceaccount.com'
        },
      },
      'android-marshmallow-x86-fyi-rel-reviver': {
        'swarming': {
          # TODO(crbug.com/1127110): Revisit shards and machine_type if there
          # are n2 machines available in the test pool.
          'shards': 25,
        },
      },
      'android-marshmallow-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_m.chrome_public_test_apk.filter',
        ],
        'swarming': {
          # TODO(crbug.com/1127110): Revisit shards and machine_type if there
          # are n2 machines available in the test pool.
          'shards': 25,
        },
      },
      'android-pie-arm64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.pie_arm64_rel.chrome_public_test_apk.filter', # https://crbug.com/1010211
        ],
        'ci_only': True, # https://crbug.com/1233700
      },
      'android-pie-x86-rel': {
        'args': [
          # https://crbug.com/1046059
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_p.chrome_public_test_apk.filter',
        ],
        'swarming': {
          # See https://crbug.com/1230192, runs of 40-60 minutes at 20 shards.
          'shards': 30,
        },
      },
    },
  },
  'chrome_public_test_apk_with_playstore': {
    'remove_from': [
      # Android Emulator does not ship playstore image on Marshmallow.
      'android-marshmallow-x86-fyi-rel-reviver',
      'android-marshmallow-x86-rel',
    ],
    'modifications': {
      'android-11-x86-rel': {
        'args': [
          '--avd-config=../../tools/android/avd/proto/generic_playstore_android30.textpb',
        ],
        'swarming': {
          # soft affinity so that bots with caches will be picked first
          'optional_dimensions': {
            '60': [
              {
                'caches': 'generic_playstore_android30',
              }
            ],
          },
          'named_caches': [
            {
              'name': 'generic_playstore_android30',
              'path': '.android_emulator/generic_playstore_android30',
            },
          ],
        },
      },
      'android-12-x64-rel': {
        'args': [
          '--avd-config=../../tools/android/avd/proto/generic_playstore_android31.textpb',
        ],
        'swarming': {
          # soft affinity so that bots with caches will be picked first
          'optional_dimensions': {
            '60': [
              {
                'caches': 'generic_playstore_android31',
              }
            ],
          },
          'named_caches': [
            {
              'name': 'generic_playstore_android31',
              'path': '.android_emulator/generic_playstore_android31',
            },
          ],
        },
      },
      'android-pie-x86-rel': {
        'args': [
          '--avd-config=../../tools/android/avd/proto/generic_playstore_android28.textpb',
        ],
        'swarming': {
          # soft affinity so that bots with caches will be picked first
          'optional_dimensions': {
            '60': [
              {
                'caches': 'generic_playstore_android28',
              }
            ],
          },
          'named_caches': [
            {
              'name': 'generic_playstore_android28',
              'path': '.android_emulator/generic_playstore_android28',
            },
          ],
        },
      },
    },
  },
  'chrome_public_test_vr_apk': {
    'remove_from': [
      # Decided to no longer run VR tests on M, crbug.com/1159619.
      'Marshmallow Tablet Tester',

      'android-pie-arm64-rel', # https://crbug.com/1010211
      'ToTAndroid',
      'android-asan',  # https://crbug.com/964562
      'android-code-coverage-native', # Does not generate profraw data.
      'android-pie-arm64-coverage-experimental-rel', # Does not generate profraw data.
    ],
  },
  'chrome_public_test_vr_apk-vega': {
    'modifications': {
      'Oreo Phone Tester': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'OVR1.180808.003',
              'device_type': 'vega',
              'os': 'Android',
            },
          ],
        },
      }
    }
  },
  'chrome_public_unit_test_apk': {
    'modifications': {
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.chrome_public_unit_test_apk.filter',
        ],
      },
    },
  },
  'chrome_sizes': {
    'modifications': {
      'lacros-amd64-generic-chrome': {
        'swarming': {
          'dimension_sets': [
            {
              'cpu': 'x86-64',
              'os': 'Ubuntu-18.04',
            },
          ],
        },
      },
      'lacros-arm-generic-chrome': {
        'swarming': {
          'dimension_sets': [
            {
              'cpu': 'x86-64',
              'os': 'Ubuntu-18.04',
            },
          ],
        },
      },
    },
  },
  'chromedriver_py_tests': {
    'remove_from': [
      # Timeout happens sometimes (crbug.com/951799).
      'Win10 Tests x64 (dbg)',
    ],
  },
  'components_browsertests': {
    'modifications': {
      'android-11-x86-rel': {
        'swarming': {
          'shards': 2,
        },
      },
      'android-asan': {
        'swarming': {
          'shards': 3,
        },
      },
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'quickrun_shards': 2,
        },
      },
    },
  },
  'components_unittests': {
    'remove_from': [
      # https://crbug.com/1147531 - covered on marshmallow emulator.
      'android-marshmallow-arm64-rel',
    ],
    'modifications': {
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 5,
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 5,
        },
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 2,
        },
      },
      'android-11-x86-rel': {
        'args': [
          # TODO(crbug.com/1192348): Fix the test failure
          '--gtest_filter=-FieldFormatterTest.DifferentLocales',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          # TODO(crbug.com/1192348): Fix the test failure
          '--gtest_filter=-FieldFormatterTest.DifferentLocales',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-code-coverage': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.components_unittests.filter',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.components_unittests.filter',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-tester-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.components_unittests.filter',
        ],
      },
    },
  },
  'compositor_unittests': {
    'modifications': {
      'fuchsia-fyi-arm64-dbg': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.debug.compositor_unittests.filter',
        ],
      },
    },
  },
  'content_browsertests': {
    'remove_from': [
      'CrWinAsan(dll)', # https://crbug.com/935598
      'android-marshmallow-arm64-rel', # http://crbug.com/1060245#c30: due to low utility and capacity.
    ],
    'modifications': {
      'Cast Audio Linux': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/cast-linux.content_browsertests.filter',
        ],
      },
      'Cast Linux': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/cast-linux.content_browsertests.filter',
        ],
      },
      'Linux ASan LSan Tests (1)': {
        'swarming': {
          'shards': 12,
          'quickrun_shards': 24,
        },
      },
      'Linux ASan Tests (sandboxed)': {
        'swarming': {
          'shards': 10, # https://crbug.com/1103330
        },
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 15,
          'quickrun_shards': 30,
        },
      },
      'Mac ASan 64 Tests (1)': { # https://crbug.com/1200640
        'experiment_percentage': 100,
      },
      'Mac11 Tests': {
        'swarming': {
          'shards': 12,
          'quickrun_shards': 10,
        },
      },
      'Mac12 Tests': {
        'swarming': {
          'shards': 12,
          'quickrun_shards': 10,
        },
      },
      'Mac12 Tests (dbg)': { # https://crbug.com/1279504
        'swarming': {
          'shards': 18,
        },
      },

      'Marshmallow Tablet Tester': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.marshmallow_tablet_tester.content_browsertests.filter',
        ],
        'swarming': {
          'shards': 15,
        },
      },
      'WebRTC Chromium FYI Android Tests (dbg) (M Nexus5X)': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromium.webrtc.fyi.android.tests.dbg.content_browsertests.filter',
        ],
      },
      'WebRTC Chromium FYI Android Tests (dbg) (N Nexus5X)': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromium.webrtc.fyi.android.tests.dbg.content_browsertests.filter',
        ],
      },
      'Win10 Tests x64': {
        # crbug.com/868082
        'args': [
          '--disable-features=WebRTC-H264WithOpenH264FFmpeg',
        ],
        'swarming': {
          'quickrun_shards': 18,
        },
      },
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,
        # crbug.com/868082
        'args': [
          '--disable-features=WebRTC-H264WithOpenH264FFmpeg',
        ],
      },
      'Win11 Tests x64': {
        # crbug.com/868082
        'args': [
          '--disable-features=WebRTC-H264WithOpenH264FFmpeg',
        ],
      },
      'android-11-x86-rel': {
        # TODO(crbug.com/1137474): Remove ci_only and experiment_percentage
        # after the test suite is green.
        'ci_only': True,
        'experiment_percentage': 100,
        # TODO(crbug.com/1137474): Revisit the shard number once failed tests
        # are fixed.
        'swarming': {
          'shards': 30,
          'dimension_sets': [
            {
              'machine_type': 'e2-standard-8', # use 8-core to shorten runtime
            },
          ],
        },
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.content_browsertests.filter',
        ],
        'swarming': {
          'shards': 25,
        },
      },
      'android-arm64-proguard-rel': {
        'swarming': {
          'shards': 16,
        },
      },
      'android-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.asan.content_browsertests.filter',
        ],
        'swarming': {
          'shards': 25,
        },
      },
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'shards': 16,
        },
      },
      'android-marshmallow-x86-rel-non-cq': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_m.content_browsertests.filter',
        ],
        'swarming': {
          'shards': 20,
        },
      },
      'android-nougat-x86-rel': {
        'swarming': {
          'shards': 20,
        },
      },
      'android-pie-arm64-rel': {
        'swarming': {
          'quickrun_shards': 40
        }
      },
      'android-pie-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_p.content_browsertests.filter',
        ],
      'swarming': {
          # Flaking with only 20 shards with 40-60 minute runs.
          # https://crbug.com/1230118
          'shards': 30,
        },
      },
      'linux-chromeos-code-coverage': {
        'swarming': {
          'shards': 12,
        },
      },
      'linux-chromeos-rel': {
        'swarming': {
          'shards': 3,
        },
      },
      'linux-code-coverage': {
        'args': [
          '--no-sandbox',
        ],
        'swarming': {
          'shards': 12,
        },
      },
      # https://crbug.com/1111979,
      'linux-lacros-code-coverage': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.content_browsertests.filter',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.content_browsertests.filter',
        ],
      },
      # https://crbug.com/1111979
      'linux-lacros-tester-fyi-rel': {
        'experiment_percentage': 100,
      },
      # https://crbug.com/1111979,
      'linux-lacros-tester-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.content_browsertests.filter',
        ],
      },
      'mac-code-coverage': {
        'args': [
          '--coverage-continuous-mode=1',
        ],
      },
      # https://crbug.com/1255940
      'mac-rel-swarming': {
        'swarming': {
          'dimension_sets': [
            {
              # These test would time out when running on 4 cores instances.
              'cores': '8|12',
            }
          ],
        },
      },
    },
  },
  'content_shell_crash_test': {
    'remove_from': [
      'android-marshmallow-x86-rel-non-cq', # crbug.com/1084353
    ],
    'modifications': {
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,  # https://crbug.com/861730
      },
    },
  },
  'content_shell_test_apk': {
    'remove_from': [
      'android-asan',  # https://crbug.com/964562
      'android-code-coverage-native', # Does not generate profraw data.
      'android-pie-arm64-coverage-experimental-rel', # Does not generate profraw data.
    ],
    'modifications': {
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11.content_shell_test_apk.filter',
          '--timeout-scale=2.0',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.content_shell_test_apk.filter',
        ],
      },
      'android-marshmallow-x86-fyi-rel-reviver': {
        'swarming': {
          'quickrun_shards': 8,
        },
      },
      'android-marshmallow-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_m.content_shell_test_apk.filter',
        ],
        'swarming': {
          'quickrun_shards': 8,
        },
      },
      'android-pie-x86-rel': {
        'args': [
          '--gtest_filter=-ContentViewScrollingTest.testFling',
        ],
      },
    },
  },
  'content_unittests': {
    'modifications': {
      'Linux ASan LSan Tests (1)': {
        # These are slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 2,
        },
      },
      'Linux ChromiumOS MSan Tests': {
        # These are very slow on the Chrome OS MSAN trybot for some reason.
        # crbug.com/865455
        'swarming': {
          'shards': 2,
        },
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 12,
        },
      },
      'fuchsia-fyi-x64-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.lsan.content_unittests.filter',
        ],
      },
    },
  },
  'context_lost_validating_tests': {
    # TODO(https://crbug.com/850107): Remove the Android FYI Release (Pixel 2)
    # exception once there is enough capacity to run these tests.
    'remove_from': [
      'Android FYI Release (Pixel 2)',
    ],
  },
  'crashpad_tests': {
    'remove_from': [
      'linux-win_cross-rel', # https://crbug.com/762167
      # https://crbug.com/crashpad/304
      'Linux TSan Tests',
      'ToTLinuxTSan',
      # https://crbug.com/crashpad/306
      'Linux CFI',
      'Linux CFI (reclient shadow)',
      'CFI Linux ToT',
    ],
    'modifications': {
      # TODO(crbug.com/1254975): dyld was rebuilt for macOS 12, which breaks
      # the tests. Run this experimentally on all the macOS bots >= 12 and
      # remove this exception once fixed.
      'Mac Builder Next': {
        'experiment_percentage': 100,
      },
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11.crashpad_tests.filter',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.crashpad_tests.filter',
        ],
      },
      # TODO(crbug.com/1254975): dyld was rebuilt for macOS 12, which breaks
      # the tests. Run this experimentally on all the macOS bots >= 12 and
      # remove this exception once fixed.
      'mac-osxbeta-rel': {
        'experiment_percentage': 100,
      },
    },
  },
  'dawn_perf_tests': {
    'remove_from': [
      'Dawn Win10 x86 DEPS Release (Intel HD 630)',
      'Dawn Win10 x86 Release (Intel HD 630)',
    ],
  },
  'device_unittests': {
    'modifications': {
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.device_unittests.filter',
        ],
      },
    },
  },
  'disk_usage_tast_test': {
    # TODO(crbug.com/1077659): Add the test back after it's fixed.
    'remove_from': [
      'chromeos-kevin-rel',
    ],
  },
  'exo_unittests': {
    'modifications': {
      'linux-chromeos-rel': {
        'swarming': {
          'quickrun_shards': 2,
        }
      },
    },
  },
  'extensions_browsertests': {
    'remove_from': [
      'CrWinAsan(dll)', # https://crbug.com/935598
    ],
    'modifications': {
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100, # https://crbug.com/876615
      },
      # https://crbug.com/1111979,
      'linux-lacros-code-coverage': {
        'args': [
          '--gtest_filter=-BluetoothShellApiTest.ApiSanityCheck:BluetoothSocketApiTest.Listen:BluetoothSocketApiTest.PermissionDenied',
        ],
      },
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--gtest_filter=-BluetoothShellApiTest.ApiSanityCheck:BluetoothSocketApiTest.Listen:BluetoothSocketApiTest.PermissionDenied',
        ],
      },
      'linux-lacros-tester-rel': {
        'args': [
          '--gtest_filter=-BluetoothShellApiTest.ApiSanityCheck:BluetoothSocketApiTest.Listen:BluetoothSocketApiTest.PermissionDenied',
        ],
      },
    },
  },
  'extensions_unittests': {
    'modifications': {
      'fuchsia-fyi-x64-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.lsan.extensions_unittests.filter',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-code-coverage': {
        'args': [
          '--gtest_filter=-BluetoothSocketApiUnittest.CreateThenClose:'
          'NativeExtensionBindingsSystemUnittest.*',
        ],
      },
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--gtest_filter=-NativeExtensionBindingsSystemUnittest*:'
          'BluetoothSocketApiUnittest.CreateThenClose:'
          'FeatureProviderTest.PermissionFeatureAvailability',
        ],
      },
      'linux-lacros-tester-rel': {
        'args': [
          '--gtest_filter=-NativeExtensionBindingsSystemUnittest*:'
          'BluetoothSocketApiUnittest.CreateThenClose:'
          'FeatureProviderTest.PermissionFeatureAvailability',
        ],
      },
    },
  },
  'gfx_unittests': {
    'modifications': {
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 2,
        },
      },
    },
  },
  'gin_unittests': {
    'remove_from': [
      'ToTLinuxASan',  # https://crbug.com/831667
      'Linux ASan LSan Tests (1)',  # https://crbug.com/831667
      'Linux Chromium OS ASan LSan Tests (1)',  # https://crbug.com/831667
    ],
    'modifications': {
      'fuchsia-fyi-x64-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.lsan.gin_unittests.filter',
        ],
      },
    },
  },
  'gl_tests_passthrough': {
    'remove_from': [
      'CFI Linux ToT',
      # Can't run on MSAN because gl_tests uses the hardware driver,
      # which isn't instrumented.
      'Linux MSan Tests',
      'Linux MSan Focal',
    ],
    'modifications': {
      # TODO(kbr): figure out a better way to specify blocks of
      # arguments like this for tests on multiple machines.
      'Linux ASan LSan Tests (1)': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:2184',
              'os': 'Ubuntu',
              'pool': 'chromium.tests.gpu',
            },
          ],
        },
      },
      'Linux CFI': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:2184',
              'os': 'Ubuntu',
              'pool': 'chromium.tests.gpu',
            },
          ],
        },
      },
      'Linux CFI (reclient shadow)': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:2184',
              'os': 'Ubuntu',
              'pool': 'chromium.tests.gpu',
            },
          ],
        },
      },
      'Linux TSan Tests': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:2184',
              'os': 'Ubuntu',
              'pool': 'chromium.tests.gpu',
            },
          ],
        },
      },
    },
  },
  'gl_tests_validating': {
   'remove_from': [
      'Android FYI Release (Nexus 5X)',
    ],
    'modifications': {
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11.gl_tests.filter',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.gl_tests.filter',
        ],
      },
      'android-marshmallow-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.gl_tests.filter',
        ],
      },
      'android-pie-arm64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.pie_arm64_rel.gl_tests.filter', # https://crbug.com/1034007
        ],
      },
      'android-pie-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.gl_tests.filter',
        ],
      },
    },
  },
  'gl_unittests': {
    'remove_from': [
      # On Android, these are already run on the main waterfall.
      # Run them on the one-off Android FYI bots, though.
      'Android FYI Release (Nexus 5X)',
      # Can't run on MSAN because gl_unittests uses the hardware driver,
      # which isn't instrumented.
      'Linux MSan Tests',
      'Linux MSan Focal',
    ],
    'modifications': {
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.gl_unittests.filter',
        ],
      },
    },
  },
  'gl_unittests_ozone': {
    'remove_from': [
      # Can't run on MSAN because gl_unittests_ozone uses the hardware driver,
      # which isn't instrumented.
      'Linux ChromiumOS MSan Tests',
      'Linux ChromiumOS MSan Focal',
    ],
  },
  'gpu_process_launch_tests': {
    # TODO(https://crbug.com/850107): Remove the Android FYI Release (Pixel 2)
    # exception once there is enough capacity to run these tests.
    'remove_from': [
      'Android FYI Release (Pixel 2)',
    ],
  },
  'gpu_pytype': {
    'remove_from': [
      'linux-code-coverage',
    ],
  },
  'gpu_unittests': {
    'modifications': {
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 5,
        },
      },
    },
  },
  'grit_python_unittests': {
    'remove_from': [
      # These tests require node, which is not supported in Win7.
      # (https://crbug.com/1218989)
      'Win 7 Tests x64 (1)',
      'Win7 Tests (1)',
      # TODO(https://crbug.com/1267125): Re-enable.
      'mac11-arm64-rel-tests',
      # TODO(https://crbug.com/1267125): Re-enable.
      'mac12-arm64-rel-tests',
    ],
  },
  'hardware_accelerated_feature_tests': {
    # TODO(https://crbug.com/850107): Remove the Android FYI Release (Pixel 2)
    # exception once there is enough capacity to run these tests.
    'remove_from': [
      'Android FYI Release (Pixel 2)',
    ],
  },
  'headless_browsertests': {
    'remove_from': [
      'CrWinAsan(dll)', # https://crbug.com/935598
      # Wayland bot doesn't support headless mode.
      'Linux Tests (Wayland)',
    ],
    'modifications': {
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 6,
        },
      },
    },
  },
  'info_collection_tests': {
    'remove_from': [
      'Android V8 FYI Release (Nexus 5X)',
      'Linux V8 FYI Release (NVIDIA)',
      'Linux V8 FYI Release - pointer compression (NVIDIA)',
      'Mac V8 FYI Release (Intel)',
      'Win V8 FYI Release (NVIDIA)',
    ],
    'modifications': {
      'ChromeOS FYI Release (amd64-generic)': {
        'args': [
          # Swarming does not report a GPU since tests are run in a VM, but
          # the VM does report that a GPU is present.
          '--expected-device-id', '1050',
        ],
      },
      'fuchsia-fyi-x64-rel': {
        'args': [
          # Swarming does not report a GPU since tests are run in a VM, but
          # the VM does report that a GPU is present.
          '--expected-device-id', 'c0de',
        ],
      },
      'fuchsia-fyi-x64-wst': {
        'args': [
          # Swarming does not report a GPU since tests are run in a VM, but
          # the VM does report that a GPU is present.
          '--expected-device-id', 'c0de',
        ],
      },
    },
    'replacements': {
      'ChromeOS FYI Release (amd64-generic)': {
        'args': {
          # Swarming does not report a GPU since tests are run in a VM, but
          # the VM does report that a GPU is present.
          '--expected-vendor-id': '1af4',
          # Magic substitution happens after regular replacement, so remove it
          # now since we are manually applying the expected device ID above.
          '$$MAGIC_SUBSTITUTION_GPUExpectedDeviceId': None,
        },
      },
      'Mac FYI Experimental Release (Apple M1)': {
        'args': {
          # The GPU information is not yet exposed in swarming, so we can't
          # explicitly request it and have the JSON generation handle this
          # automatically.
          '--expected-vendor-id': '106b',
        },
      },
      'Mac FYI Release (Apple M1)': {
        'args': {
          # The GPU information is not yet exposed in swarming, so we can't
          # explicitly request it and have the JSON generation handle this
          # automatically.
          '--expected-vendor-id': '106b',
        },
      },
      'fuchsia-fyi-x64-rel': {
        'args': {
          # The GPU information is not exposed in swarming since Fuchsia
          # launches an emulator on the GCE machine.
          '--expected-vendor-id': '1ae0',
          '$$MAGIC_SUBSTITUTION_GPUExpectedDeviceId': None,
        },
      },
      'fuchsia-fyi-x64-wst': {
        'args': {
          # The GPU information is not exposed in swarming since Fuchsia
          # launches an emulator on the GCE machine.
          '--expected-vendor-id': '1ae0',
          '$$MAGIC_SUBSTITUTION_GPUExpectedDeviceId': None,
        },
      },
    },
  },
  'interactive_ui_tests': {
    'remove_from': [
      'CrWinAsan(dll)', # https://crbug.com/935598
    ],
    'modifications': {
      'Linux - Future (dbg)': {  # client.v8.chromium
        'swarming': {
          'shards': 3,
        },
      },
      'Linux ASan LSan Tests (1)': {
        # These are slow on the ASan trybot for some reason, crbug.com/1257927
        'swarming': {
          'shards': 6,
          'quickrun_shards': 12,
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        # These are slow on the ASan trybot for some reason, crbug.com/1257927
        'swarming': {
          'shards': 6,
          'quickrun_shards': 12,
        },
      },
      'Linux ChromiumOS MSan Focal': {
        # These are very slow on the Chrome OS MSAN trybot for some reason.
        # crbug.com/865455
        'swarming': {
          'shards': 5,
        },
      },
      'Linux ChromiumOS MSan Tests': {
        # These are very slow on the Chrome OS MSAN trybot for some reason.
        # crbug.com/865455
        'swarming': {
          'shards': 5,
        },
      },
      'Linux TSan Tests': {
        # These are slow on the TSan bots for some reason, crbug.com/1257927
        'swarming': {
          'shards': 32, # Adjusted for testing, see https://crbug.com/1179567
        },
      },
      # https://crbug.com/1192997
      'Linux Tests (Wayland)': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/ozone-linux.interactive_ui_tests_wayland.filter',
        ],
      },
      'Mac ASan 64 Tests (1)': { # https://crbug.com/1251656
        'experiment_percentage': 100,
      },
      'Mac11 Tests': {
        'swarming': {
          'quickrun_shards': 6,
        },
      },
      'Mac12 Tests': {
        'swarming': {
          'quickrun_shards': 6,
        },
      },
      'Mac12 Tests (dbg)': { # https://crbug.com/1265051
        'experiment_percentage': 100,
      },
      'ToTLinuxTSan': {
        # These are slow on the TSan bots for some reason, crbug.com/1257927
        'swarming': {
          'shards': 6,
        },
      },
      'Win10 Tests x64': {
        'swarming': {
          'quickrun_shards': 8,
        },
      },
      # temporary, https://crbug.com/818832
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,
      },
      # TODO(crbug.com/970649): Remove these filters.
      'linux-chromeos-chrome': {
        'args': [
          '--gtest_filter=-SadTabViewInteractiveUITest.ReloadMultipleSadTabs',
        ],
      },
      'linux-chromeos-code-coverage': {
        'swarming': {
          'shards': 10,
        },
      },
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 6,
        },
      },
      'linux-code-coverage': {
        'swarming': {
          'shards': 10,
        },
      },
      # https://crbug.com/1111979
      'linux-lacros-code-coverage': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter',
        ],
      },
      # https://crbug.com/1111979
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter',
        ],
      },
      # https://crbug.com/1111979
      'linux-lacros-tester-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter',
        ],
      },
      'mac-code-coverage': {
        'args': [
          '--coverage-continuous-mode=1',
        ],
      },
      # TODO (crbug.com/1278617) Re-enable once fixed
      'mac-osxbeta-rel': {
        'experiment_percentage': 100,
      },
    },
  },
  'interactive_ui_tests amd64-generic': {
    'remove_from': [
      # TODO(crbug.com/1204231): Re-enable.
      'lacros-amd64-generic-rel',
      'lacros-amd64-generic-rel-fyi',
    ]
  },
  'interactive_ui_tests eve': {
    'remove_from': [
      # TODO(crbug.com/1204231): Re-enable.
      'lacros-amd64-generic-rel',
      'lacros-amd64-generic-rel-fyi',
    ]
  },
  'ipc_tests': {
    'modifications': {
      'Linux ChromiumOS MSan Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'cpu': 'x86-64',
              'os': 'Ubuntu-18.04',
            },
          ],
        },
      },
      'Linux MSan Tests': {
        'swarming': {
          'dimension_sets': [
            {
              'cpu': 'x86-64',
              'os': 'Ubuntu-18.04',
            },
          ],
        },
      },
      'android-asan': {
        'swarming': {
          'shards': 2,
        },
      },
    },
  },
  'maps_pixel_passthrough_test': {
    'modifications': {
      'Android FYI Release (Pixel 4)': {
        'args': [
          # Pixel 4s are weird in that they can output in different color spaces
          # simultaneously. The readback code for capturing a screenshot assumes
          # only one color space, so disable wide color gamut for the test to
          # work around the issue. See https://crbug.com/1166379 for more
          # information.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
      'android_optional_gpu_tests_rel': {
        'args': [
          # See above.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
    },
    'replacements': {
      # The V8 builders pass the V8 revision for ${got_revision}, so instead
      # use ${got_cr_revision}, which is only set on the V8 bots.
      'Linux V8 FYI Release (NVIDIA)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
      'Linux V8 FYI Release - pointer compression (NVIDIA)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
      'Mac V8 FYI Release (Intel)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
      'Win V8 FYI Release (NVIDIA)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
    },
  },
  'maps_pixel_validating_test': {
    'modifications': {
      'Android FYI Release (Pixel 4)': {
        'args': [
          # Pixel 4s are weird in that they can output in different color spaces
          # simultaneously. The readback code for capturing a screenshot assumes
          # only one color space, so disable wide color gamut for the test to
          # work around the issue. See https://crbug.com/1166379 for more
          # information.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
      'android_optional_gpu_tests_rel': {
        'args': [
          # See above.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
    },
    # TODO(https://crbug.com/850107): Remove the Android FYI Release (Pixel 2)
    # exception once there is enough capacity to run these tests.
    'remove_from': [
      'Android FYI Release (Pixel 2)',
    ],
    'replacements': {
      # The V8 builders pass the V8 revision for ${got_revision}, so instead
      # use ${got_cr_revision}, which is only set on the V8 bots.
      'Android V8 FYI Release (Nexus 5X)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
    },
  },
  'media_unittests': {
    'modifications': {
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11_12.media_unittests.filter',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11_12.media_unittests.filter',
        ],
      },
      'android-marshmallow-x86-rel-non-cq': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_m.media_unittests.filter',
        ],
      },
      'android-pie-arm64-rel': {
        'args': [
          '--gtest_filter=-AAudio/AudioOutputTest.Play200HzTone/0', # https://crbug.com/1034009
        ],
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 3,
        },
      },
      'fuchsia-fyi-arm64-dbg': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.debug.media_unittests.filter',
        ],
      },
    },
  },
  'mediapipe_validating_tests': {
    'modifications': { # TODO(crbug.com/1201887): Remove once tests are stable.
      'fuchsia-fyi-x64-rel': {
        'experiment_percentage': 100,
      },
    },
    'remove_from': [
      # TODO(crbug.com/1201887): Remove once tests are stable.
      'Fuchsia x64',
    ],
  },
  'mojo_test_apk': {
    'remove_from': [
      'android-code-coverage-native', # Does not generate profraw data.
      'android-pie-arm64-coverage-experimental-rel', # Does not generate profraw data.
    ],
  },
  'mojo_unittests': {
    'modifications': {
      'android-asan': {
        'swarming': {
          'shards': 5,
        },
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 2,
        },
      },
    },
  },
  'monochrome_public_test_ar_apk': {
    'modifications': {
      'Nougat Phone Tester': {
        'args': [
          # ArCore is not installed as a system app on N, so we can install it
          # normally instead of replacing the system version.
          '--additional-apk=//third_party/arcore-android-sdk/test-apks/arcore/arcore_current.apk'
        ],
      },
      # We need to match the Playstore version as well because AR tests fail on
      # old versions of the Playstore.
      'Oreo Phone Tester': {
        'args': [
          # ArCore is not installed as a system app on O, so we can install it
          # normally instead of replacing the system version.
          '--additional-apk=//third_party/arcore-android-sdk/test-apks/arcore/arcore_current.apk'
        ],
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'OPR3.170623.008',
              'device_type': 'marlin',
              'os': 'Android',
            },
          ],
        },
      },
      'android-10-arm64-rel': {
        'args': [
          '--remove-system-package=com.google.ar.core',
          '--additional-apk=//third_party/arcore-android-sdk/test-apks/arcore/arcore_current.apk',
        ]
      },
      'android-pie-arm64-dbg': {
        'args': [
          '--remove-system-package=com.google.ar.core',
          '--additional-apk=//third_party/arcore-android-sdk/test-apks/arcore/arcore_current.apk',
        ]
      }
    },
  },
  'nacl_loader_unittests': {
    'remove_from': [
      'ToTMacASan',  # The mac asan tot bot sets enable_nacl=false
      'linux-win_cross-rel',  # Sets enable_nacl=false, https://crbug.com/774186
      'Linux TSan Tests',  # The TSan bot sets enable_nacl=false
      'Mac ASan 64 Tests (1)',  # The mac asan bot sets enable_nacl=false
    ],
  },
  'net_unittests': {
    'modifications': {
      'CrWinAsan': {
        # TODO(crbug.com/1257927): net_unittests is slow under ASan.
        'swarming': {
          'shards': 16,
        },
      },
      'CrWinAsan(dll)': {
        # TODO(crbug.com/1257927): net_unittests is slow under ASan.
        'swarming': {
          'shards': 16,
        },
      },
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 16,
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 8,
        }
      },
      'Linux ChromiumOS MSan Tests': {
        # These are very slow on the Chrome OS MSAN trybot for some reason.
        # crbug.com/865455
        'swarming': {
          'shards': 2,
        },
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 4,
        }
      },
      # The suite runs signficantly slower on linux dbg, so increase shards.
      'Linux Tests (dbg)(1)': {
        'swarming': {
          'shards': 2,
        },
      },
      'ToTLinuxASan': {
        # TODO(crbug.com/1257927): net_unittests is slow under ASan.
        'swarming': {
          'shards': 16,
        },
      },
      'ToTLinuxTSan': {
        'swarming': {
          'shards': 4,
        }
      },
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11.net_unittests.filter',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          # TODO(crbug.com/1191793): Fix the test failure
          '--gtest_filter=-MimeUtilTest.ExtensionTest',
        ],
      },
      'android-cronet-x86-dbg-10-tests': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_10.net_unittests.filter',
        ],
      },
      'android-cronet-x86-dbg-11-tests': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_11.net_unittests.filter',
        ],
      },
      'android-cronet-x86-dbg-lollipop-tests': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_l.net_unittests.filter',
        ],
      },
      'android-cronet-x86-dbg-oreo-tests': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.net_unittests.filter',
        ],
      },
      'android-cronet-x86-dbg-pie-tests': {
        # crbug.com/1046060
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.net_unittests.filter',
        ],
      },
      'android-cronet-x86-rel-kitkat-tests': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_k.net_unittests.filter',
        ],
      },
      'android-marshmallow-x86-rel-non-cq': {
        # crbug.com/1046060
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.net_unittests.filter',
        ],
      },
      'android-pie-x86-rel': {
        # crbug.com/1046060
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.net_unittests.filter',
        ],
      },
      'chromeos-amd64-generic-rel': {
        'swarming': {
          'quickrun_shards': 6,
        },
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 14,
        },
      },
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 2,
        },
      },
      # TODO (crbug.com/1278618) Re-enable once fixed
      'mac-osxbeta-rel': {
        'experiment_percentage': 0,
      },
      'win-asan': {
        # TODO(crbug.com/1257927): net_unittests is slow under ASan.
        'swarming': {
          'shards': 16,
        },
      },
    },
  },
  'not_site_per_process_blink_web_tests': {
    'remove_from': [
      # TODO(dpranke): Should we be running this step on Linux Tests (dbg)(1)?
      'Linux Tests (dbg)(1)',
    ],
    'modifications': {
      'Linux Tests': {
        "args": [
          "--additional-env-var=LLVM_PROFILE_FILE=${ISOLATED_OUTDIR}/profraw/default-%2m.profraw",
        ],
        'swarming': {
          'quickrun_shards': 18,
        },
      },
      'linux-code-coverage': {
        'args': [
          '--additional-env-var=LLVM_PROFILE_FILE=${ISOLATED_OUTDIR}/profraw/default-%2m.profraw',
        ],
        'swarming': {
          'shards': 20,
        },
      },
    },
  },
  'notification_helper_unittests': {
    'remove_from': [
      # The test uses WinRT, which only exists in Windows 8 or above.
      # (https://crbug.com/813553)
      'Win 7 Tests x64 (1)',
      'Win7 Tests (1)',
      # all these bots run Windows 7.
      'ToTWin',
      'ToTWin(dbg)',
      'ToTWin(dll)',
      'ToTWinOfficial',
      'ToTWinOfficial64',
      'ToTWin64',
      'ToTWin64(dbg)',
      'ToTWin64(dll)',
    ],
  },
  'overlay_prioritization_viz_unittests': {
    'remove_from': [
      # Reduce CQ load
      'Linux Tests (Wayland)',
    ],
  },
  'ozone_unittests': {
    'modifications': {
      'chromeos-betty-pi-arc-chrome': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.ozone_unittests.filter',
        ],
      },
      'chromeos-betty-pi-arc-chrome-dchecks': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.ozone_unittests.filter',
        ],
      },
      'linux-chromeos-chrome': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.ozone_unittests.filter',
        ],
      },
    },
  },
  'ozone_x11_unittests': {
    # Wayland bot uses chromium_linux_gtests that includes some x11 only
    # test targets. To avoid maintaining a list of tests, remove them here.
    'remove_from': [
      'Linux Tests (Wayland)',
    ],
  },
  'perfetto_unittests': {
    'modifications': {
      'android-12-x64-rel': {
        'args': [
          # TODO(crbug.com/1260440): Fix the failed test
          '--gtest_filter=-ScopedDirTest.CloseOutOfScope',
        ],
      },
      'fuchsia-fyi-x64-asan': {
        'args': [
          # TODO(crbug.com/1199334): Error messages only show up in klog.
          '--gtest_filter=-PagedMemoryTest.AccessUncommittedMemoryTriggersASAN'
        ],
      },
    },
    'remove_from': [
      # TODO(crbug.com/931138): Fix permission issue when creating tmp files
      'android-arm64-proguard-rel',
      'android-asan',
      'android-code-coverage',
      'android-code-coverage-native',
      'android-marshmallow-arm64-rel',
      'android-marshmallow-x86-rel-non-cq',
      'android-pie-arm64-coverage-experimental-rel', # Does not generate profraw data.
      'android-pie-arm64-rel',
      'android-pie-x86-rel',
      'android-11-x86-rel',
      'Marshmallow 64 bit Tester',
      'Marshmallow Tablet Tester',
      'Nougat Phone Tester',
      'ToTAndroid'
    ]
  },
  'performance_test_suite': {
    'modifications': {
      'Mac12 Tests (dbg)': {
        'args': [
          '--browser=debug',
        ],
      },
      'Win10 Tests x64 (dbg)': {
        'args': [
          '--browser=debug_x64',
        ],
        'experiment_percentage': 100,
      },
    },
  },
  'pixel_skia_gold_passthrough_test': {
    'modifications': {
      'Android FYI Release (Pixel 4)': {
        'args': [
          # Pixel 4s are weird in that they can output in different color spaces
          # simultaneously. The readback code for capturing a screenshot assumes
          # only one color space, so disable wide color gamut for the test to
          # work around the issue. See https://crbug.com/1166379 for more
          # information.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
      'Mac Retina Release (AMD)': {
        'swarming': {
          'quickrun_shards': 2,
        },
      },
      'Win10 x64 Release (NVIDIA)': {
        'swarming': {
          'quickrun_shards': 2,
        },
      },
      'android_optional_gpu_tests_rel': {
        'args': [
          # See above.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
    },
    'replacements': {
      # The V8 builders pass the V8 revision for ${got_revision}, so instead
      # use ${got_cr_revision}, which is only set on the V8 bots.
      'Linux V8 FYI Release (NVIDIA)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
      'Linux V8 FYI Release - pointer compression (NVIDIA)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
      'Mac V8 FYI Release (Intel)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
      'Win V8 FYI Release (NVIDIA)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
    },
  },
  'pixel_skia_gold_validating_test': {
    'modifications': {
      'Android FYI Release (Pixel 4)': {
        'args': [
          # Pixel 4s are weird in that they can output in different color spaces
          # simultaneously. The readback code for capturing a screenshot assumes
          # only one color space, so disable wide color gamut for the test to
          # work around the issue. See https://crbug.com/1166379 for more
          # information.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
      'android_optional_gpu_tests_rel': {
        'args': [
          # See above.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
      'fuchsia-fyi-x64-rel': { # https://crbug.com/1302427
        'experiment_percentage': 100,
      },
    },
    'remove_from': [
      'Fuchsia x64',  # https://crbug.com/1302427
    ],
    'replacements': {
      # The V8 builders pass the V8 revision for ${got_revision}, so instead
      # use ${got_cr_revision}, which is only set on the V8 bots.
      'Android V8 FYI Release (Nexus 5X)': {
        'args': {
          '--git-revision': '${got_cr_revision}',
        },
      },
    },
  },
  'pixel_test':{
    'modifications': {
      'Android Release (Nexus 5X)': {
        'swarming': {
          'shards': 2,
        },
      },
    },
  },
  'sandbox_linux_unittests': {
    'modifications': {
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator_12.sandbox_linux_unittests.filter',
        ]
      },
      'android-marshmallow-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.sandbox_linux_unittests.filter',
        ]
      },
      'android-pie-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.sandbox_linux_unittests.filter',
        ]
      },
    },
    'remove_from': [
      'android-asan',  # https://crbug.com/962650
    ],
  },
  'screenshot_sync_passthrough_tests': {
    'modifications': {
      'Android FYI Release (Pixel 4)': {
        'args': [
          # Pixel 4s are weird in that they can output in different color spaces
          # simultaneously. The readback code for capturing a screenshot assumes
          # only one color space, so disable wide color gamut for the test to
          # work around the issue. See https://crbug.com/1166379 for more
          # information.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
      'android_optional_gpu_tests_rel': {
        'args': [
          # See above.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
    },
  },
  'screenshot_sync_validating_tests': {
    'modifications': {
      'Android FYI Release (Pixel 4)': {
        'args': [
          # Pixel 4s are weird in that they can output in different color spaces
          # simultaneously. The readback code for capturing a screenshot assumes
          # only one color space, so disable wide color gamut for the test to
          # work around the issue. See https://crbug.com/1166379 for more
          # information.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
      'android_optional_gpu_tests_rel': {
        'args': [
          # See above.
          '--extra-browser-args=--disable-wcg-for-test',
        ],
      },
    },
    'remove_from': [
      'Fuchsia x64',  # https://crbug.com/1302427
    ],
  },
  'services_unittests': {
    'remove_from': [
      'ToTLinuxMSan',  # https://crbug.com/831676
      # The face and barcode detection tests fail on the Mac Pros.
      'Mac Pro FYI Release (AMD)',
      'Linux ChromiumOS MSan Tests',  # https://crbug.com/831676
      'Linux ChromiumOS MSan Focal',
      'Linux MSan Tests',  # https://crbug.com/831676
      'Linux MSan Focal',  # https://crbug.com/831676
    ],
    'replacements': {
      # TODO(crbug.com/1078982): Remove once the test is fixed on 10.15.4.
      'Mac FYI Experimental Release (Intel)': {
        'args': {
          '--gtest_filter': '*Detection*:-FaceDetectionImplMacTest.ScanOneFace*',
        },
      },
    },
    'modifications': {
      'Linux ASan LSan Tests (1)': {
        'swarming': {
          'quickrun_shards': 2,
        },
      },
      'android-11-x86-rel': {
        'args': [
          # TODO(crbug.com/1264654): Fix the failed tests
          '--gtest_filter=-PacLibraryTest.ActualPacMyIpAddress*'
        ],
      },
      'android-12-x64-rel': {
        'args': [
          # TODO(crbug.com/1264654): Fix the failed tests
          '--gtest_filter=-PacLibraryTest.ActualPacMyIpAddress*'
        ],
      },
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 7,
        },
      },
    }
  },
  'snapshot_unittests': {
    'modifications': {
      'fuchsia-fyi-arm64-dbg': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.debug.snapshot_unittests.filter',
        ],
      },
    },
  },
  'sync_integration_tests': {
    'remove_from': [
      'CrWinAsan(dll)', # https://crbug.com/935598
    ],
    'modifications': {
      'Linux ASan LSan Tests (1)': {
        'swarming': {
          'shards': 4,
        },
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 6,
        },
      },
      'Mac ASan 64 Tests (1)': {
        'swarming': {
          'shards': 3,
          },
      },
      'Mac11 Tests': {
        'swarming': {
          'shards': 4,
        },
      },
      'Mac12 Tests': {
        'swarming': {
          'shards': 4,
        },
      },
      'ToTLinuxTSan': {
        'swarming': {
          'shards': 6,
        },
      },
      'Win10 Tests x64': {
        'swarming': {
          'quickrun_shards': 3,
        },
      },
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100, # https://crbug.com/840369
      },
      'linux-chromeos-code-coverage': {
        'swarming': {
          'shards': 4,
        },
      },
      'linux-code-coverage': {
        'swarming': {
          'shards': 4,
        },
      },
      # https://crbug.com/1199909,
      'linux-lacros-code-coverage': {
        'args': [
           '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.sync_integration_tests.filter',
        ]
      },
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.sync_integration_tests.filter',
        ],
      },
      'linux-lacros-tester-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.sync_integration_tests.filter',
        ],
      },
      'mac-code-coverage': {
        'args': [
          '--coverage-continuous-mode=1',
        ],
      },
    },
  },
  'system_webview_wpt': {
    'modifications': {
      'android-webview-pie-x86-wpt-fyi-rel': {
        'args': [
          '--log-wptreport',
        ],
      },
    },
  },
  'tab_capture_end2end_tests': {
    # Run these only on Release bots.
    'remove_from': [
      'Linux Debug (NVIDIA)',
      'Mac Debug (Intel)',
      'Mac Retina Debug (AMD)',
      'Win10 FYI x64 Debug (NVIDIA)',
      # Disabled due to dbus crashes crbug.com/927465
      'Linux FYI Release (Intel HD 630)',
      'Linux FYI Release (NVIDIA)',
      'Linux Release (NVIDIA)',
    ],
  },
  'telemetry_chromium_minidump_unittests': {
    'remove_from': [
      'android-marshmallow-x86-rel-non-cq', # crbug.com/1084352
    ],
  },
  'telemetry_monochrome_minidump_unittests': {
    'remove_from': [
      # Monochrome isn't supported on M.
      'android-marshmallow-arm64-rel',
      'android-marshmallow-x86-rel-non-cq',
    ],
  },
  'telemetry_perf_unittests': {
    'modifications': {
      'Linux Tests': {
        'args': [
          '--xvfb',
          '--jobs=1',
        ],
      },
      'Linux Tests (dbg)(1)': {
        'args': [
          '--xvfb',
          '--jobs=1',
        ],
      },
      'Mac11 Tests': {
        'ci_only': True,
      },
      'Mac12 Tests': {
        'ci_only': True,
      },
      'chromeos-amd64-generic-rel': {
        'swarming': {
          'quickrun_shards': 24,
        },
      },
      'chromeos-eve-chrome': {
        'args': [
          # TODO(crbug.com/1191132): Re-enable.
          '--skip=benchmarks.benchmark_smoke_unittest.BenchmarkSmokeTest.wasmpspdfkit',
        ],
      },
      'chromeos-kevin-chrome': {
        # TODO(crbug.com/1182948): Remove the experiment.
        # TODO(b/188822176): Restore to 100% when we have additional capacity.
        'experiment_percentage': 0,
      },
    },
    'remove_from': [
      'android-marshmallow-x86-rel-non-cq', # crbug.com/1084352
      # There's no need to run telemetry_perf_unittests on both lollipop and
      # marshmallow on the CQ. https://crbug.com/1026487.
      # TODO(crbug/1260494): Test suite isn't running on android.
      'android-marshmallow-arm64-rel',
      'android-pie-arm64-rel',
      # crbug.com/936540
      'Mac10.13 Tests',
      'Mac10.15 Tests',
      # TODO crbug.com/1277277
      'Mac12 Tests (dbg)',
      'Linux - Future (dbg)',  # client.v8.chromium
      'Win10 Tests x64',
      'Win10 Tests x64 (dbg)',
      'Win11 Tests x64',
    ],
  },
  'telemetry_unittests': {
    'modifications': {
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,  # crbug.com/870673
      },
      'chromeos-amd64-generic-rel': {
        'swarming': {
          'quickrun_shards': 60,
        },
      },
    },
    'remove_from': [
      # TODO(crbug.com/1141234): Restore when there's more DUTs
      'chromeos-eve-chrome',
      'chromeos-kevin-chrome',
      'chromeos-kevin-rel',

      'Win10 Tests x64',
      'Win11 Tests x64',

      # TODO(https://crbug.com/1267161): Re-enable when platform is supported.
      'mac11-arm64-rel-tests',
      # TODO(https://crbug.com/1267161): Re-enable when platform is supported.
      'mac12-arm64-rel-tests',
    ],
  },
  'test_buildbucket_api_gpu_use_cases GTX 1660': {
    'remove_from': [
      'linux_optional_gpu_tests_rel',  # crbug.com/1080749
    ],
  },
  'trace_test': {
    'modifications': {
      'fuchsia-fyi-x64-rel': { # https://crbug.com/1269976
        'experiment_percentage': 100,
      },
    },
  },
  'unexpected_passes_common_pytype': {
    'remove_from': [
      'linux-code-coverage',
    ],
  },
  'unit_tests': {
    'remove_from': [
      'android-pie-arm64-rel',  # https://crbug.com/1010211
    ],
    'modifications': {
      'Linux ASan LSan Tests (1)': {
        # These are slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 4,
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        # These are slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 2,
        },
      },
      'Linux ChromiumOS MSan Tests': {
        # These are very slow on the Chrome OS MSAN trybot for some reason.
        # crbug.com/865455
        'swarming': {
          'shards': 2,
        },
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 2,
        },
      },
      # https://crbug.com/1184127
      'Linux Tests (Wayland)': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/ozone-linux.unit_tests_wayland.filter',
        ],
      },
      'Mac12 Tests (dbg)': {
        'swarming': {
          'shards': 2,
        },
      },
      'ToTLinuxASan': {
        'swarming': {
          'shards': 2,
        },
      },
      'android-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.asan.unit_tests.filter',
        ],
      },
      'android-marshmallow-arm64-rel-swarming': {
        'swarming': {
          'shards': 8,
        },
      },
      'linux-chromeos-chrome': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/chromeos.unit_tests.filter',
        ],
      },
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 2,
        },
      },
      'linux-chromeos-rel': {
        'swarming': {
          'shards': 2,
        },
      },
      # https://crbug.com/1111979,
      'linux-lacros-code-coverage': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.unit_tests.filter',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.unit_tests.filter',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-tester-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.unit_tests.filter',
        ],
      },
    },
  },
  'variations_smoke_tests': {
    'modifications': {
      'linux-chrome': {
        'swarming': {
          'dimension_sets': [
            {
              'pool': 'chrome.tests.finch',
            },
          ],
        },
      },
      'win-chrome': {
        'experiment_percentage': 100,
        'swarming': {
          'dimension_sets': [
            {
              'pool': 'chrome.tests.finch',
            },
          ],
        },
      },
    },
  },
  'video_decode_accelerator_gl_unittest': {
    'remove_from': [
      # Windows Intel doesn't have the GL extensions to support this test.
      'Win10 FYI x64 Release (Intel HD 630)',
      'Win10 FYI x64 Exp Release (Intel HD 630)',
    ],
  },
  'views_unittests': {
    'modifications': {
      'Linux Tests (Wayland)': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/ozone-linux.wayland_views_unittests.filter',
        ],
      },
      'fuchsia-fyi-arm64-dbg': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.debug.views_unittests.filter',
        ],
      },
      'fuchsia-fyi-x64-asan': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.lsan.views_unittests.filter',
        ],
      },
      # https://crbug.com/1111979,
      'linux-lacros-code-coverage': {
        'args': [
          '--gtest_filter=-DesktopWidgetFocusManagerTest.AnchoredDialogInDesktopNativeWidgetAura:'
          'DesktopWidgetTest*:'
          'DesktopWindowTreeHostPlatformTest*:'
          'EditableComboboxTest*:'
          'MenuRunnerTest*:'
          'TextfieldTest*:'
          'TooltipControllerTest*:'
          'TooltipStateManagerTest*'
        ],
      },
      'linux-lacros-dbg-tests-fyi': {
        'args': [
          '--gtest_filter=-DesktopWidgetFocusManagerTest.AnchoredDialogInDesktopNativeWidgetAura:'
          'TextfieldTest*:'
          'TooltipControllerTest*:'
        ],
      },
      'linux-lacros-tester-rel': {
        'args': [
          '--gtest_filter=-DesktopWidgetFocusManagerTest.AnchoredDialogInDesktopNativeWidgetAura:'
          'DesktopWidgetTest*:'
          'DesktopWindowTreeHostPlatformTest*:'
          'EditableComboboxTest*:'
          'MenuRunnerTest*:'
          'TextfieldTest*:'
          'TooltipControllerTest*:'
          'TooltipStateManagerTest*'
        ],
      },
    },
  },
  'viz_unittests': {
    'modifications': {
      'fuchsia-fyi-arm64-dbg': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/fuchsia.debug.viz_unittests.filter',
        ],
      },
    },
  },
  'vr_common_unittests': {
    'remove_from': [
      'android-pie-x86-rel',
    ],
  },
  'vr_pixeltests': {
    'remove_from': [
      'android-pie-x86-rel',
      'VR Linux',
    ],
  },
  'wayland_client_perftests': {
    'remove_from': [
      'linux-chromeos-dbg',  # https://crbug.com/859307
    ],
  },
  'web_engine_browsertests': {
    'modifications': {
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 28,
        },
      },
    },
  },
  'web_engine_integration_tests': {
    'modifications': {
      'fuchsia-code-coverage': {
        'swarming': {
          'shards': 6,
        },
      },
    },
  },
  'webdriver_tests_suite': {
    'remove_from': [
      'Linux Tests',  # https://crbug.com/929689, https://crbug.com/936557
    ],
  },
  'webgl2_conformance_gles_passthrough_tests': {
    'remove_from': [
      # Currently not enough capacity to run these tests on this config.
      # TODO(crbug.com/1280418): Re-enable once more of the Pixel 6 capacity
      # is deployed.
      'Android FYI Release (Pixel 6)',
      # Not enough CrOS hardware capacity to run both on anything other than
      # VMs. See https://crbug.com/1238070.
      'Lacros FYI x64 Release (Intel)',
    ],
    'modifications': {
      # This VM configuration is known to be significantly slower than other
      # CrOS configurations, so increase the shards.
      # TODO(crbug.com/1223550): Remove this if the configuration can be sped
      # up.
      'ChromeOS FYI Release (amd64-generic)': {
        'swarming': {
          'shards': 30,
        },
      },
    },
  },
  'webgl2_conformance_metal_passthrough_tests': {
    'remove_from': [
      # crbug.com/1270755
      'Mac FYI ASAN (Intel)',
      'Mac FYI Retina ASAN (AMD)',
      # Not enough capacity.
      'Mac FYI Retina Release (NVIDIA)',
    ],
    'modifications': {
      'Mac FYI ASAN (Intel)': {
        'args': [
          '--extra-browser-args=--disable-metal-shader-cache',
          '--enable-metal-debug-layers',
        ],
      },
      'Mac FYI Release (Intel)': {
        'args': [
          '--enable-metal-debug-layers',
        ],
      },
      'Mac FYI Retina ASAN (AMD)': {
        'args': [
          '--extra-browser-args=--disable-metal-shader-cache',
          # This slows down tests and we are currently having AMD Mac capacity
          # issues.
          # '--enable-metal-debug-layers',
        ],
      },
      'Mac FYI Retina Release (AMD)': {
        'args': [
          # This slows down tests and we are currently having AMD Mac capacity
          # issues.
          # '--enable-metal-debug-layers',
        ],
      },
    },
  },
  'webgl2_conformance_validating_tests': {
    'remove_from': [
      # Currently not enough capacity to run these tests on this config.
      # TODO(crbug.com/1280418): Re-enable once more of the Pixel 6 capacity
      # is deployed.
      'Android FYI Release (Pixel 6)',
      # Passthrough version run on this configuration, not enough capacity for
      # both. See https://crbug.com/1238070.
      'ChromeOS FYI Release (kevin)',
    ],
    'modifications': {
      # This VM configuration is known to be significantly slower than other
      # CrOS configurations, so increase the shards.
      # TODO(crbug.com/1223550): Remove this if the configuration can be sped
      # up.
      'ChromeOS FYI Release (amd64-generic)': {
        'swarming': {
          'shards': 30,
        },
        # This configuration is tested with the passthrough decoder as well,
        # which will be shipped in the nearish future, so any failures that
        # show up with the validating decoder are just an FYI.
        'experiment_percentage': 100,
      },
      'ChromeOS FYI Release (kevin)': {
        'experiment_percentage': 100,
      },
    },
  },
  'webgl_conformance_d3d11_passthrough_tests': {
    'modifications': {
      'Win10 x64 Release (NVIDIA)': {
        'swarming': {
          'quickrun_shards': 4,
        },
      },
    },
  },
  'webgl_conformance_metal_passthrough_tests': {
    'remove_from': [
      # crbug.com/1270755
      'Mac FYI ASAN (Intel)',
      'Mac FYI Retina ASAN (AMD)',
      # crbug.com/1158857: re-enable when switching to Metal by default.
      'Mac FYI Retina Release (NVIDIA)',
    ],
    'modifications': {
      'Mac FYI ASAN (Intel)': {
        'args': [
          '--extra-browser-args=--disable-metal-shader-cache',
          '--enable-metal-debug-layers',
        ],
      },
      'Mac FYI Release (Intel)': {
        'args': [
          '--enable-metal-debug-layers',
        ],
      },
      'Mac FYI Retina ASAN (AMD)': {
        'args': [
          '--extra-browser-args=--disable-metal-shader-cache',
          # This slows down tests and we are currently having AMD Mac capacity
          # issues.
          # '--enable-metal-debug-layers',
        ],
      },
      'Mac FYI Retina Release (AMD)': {
        'args': [
          # This slows down tests and we are currently having AMD Mac capacity
          # issues.
          # '--enable-metal-debug-layers',
        ],
      },
    },
  },
  'webgl_conformance_tests': {
    'remove_from': [
      # Too slow on this configuration, which is severely hardware
      # constrained. crbug.com/950690
      'Mac FYI Retina Debug (NVIDIA)',
    ],
    'modifications': {
      'chromeos-amd64-generic-rel': {
        'args': [
          # Added to debug crbug.com/1293967.
          '--extra-browser-args=--disable-features=BackgroundVideoPauseOptimization',
        ],
        'swarming': {
          'quickrun_shards': 40,
        },
      },
    },
  },
  'webgpu_blink_web_tests': {
    'modifications': {
      # Increase the timeout with ASAN (crbug.com/1208253)
      'Dawn Win10 x64 ASAN Release': {
        'args': [
          '--timeout-ms=48000',
        ],
      },
    },
    'replacements': {
      'Dawn Mac x64 Experimental Release (Intel)': {
        'args': {
          '--platform': 'mac-mac11',
        },
      }
    },
  },
  'webgpu_blink_web_tests_with_backend_validation': {
    'replacements': {
      'Dawn Mac x64 Experimental Release (Intel)': {
        'args': {
          '--platform': 'mac-mac11',
        },
      },
    },
  },
  'webkit_unit_tests': {
    'remove_from': [
      # Flakily fails on Win7. https://crbug.com/943372.
      'Win7 Tests (1)',
      'Win 7 Tests x64 (1)',
      # Runs on android-marshmallow-x86-rel already (crbug.com/1127110)
      'android-marshmallow-arm64-rel',
      'android-marshmallow-x86-rel-non-cq',
    ],
    'modifications': {
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/1257927
        'swarming': {
          'shards': 5,
        },
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 2,
        },
      },
      'Marshmallow 64 bit Tester': {
        # Increase timeout. See https://crbug.com/847229.
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      'android-11-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.blink_unittests.filter',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.blink_unittests.filter',
        ],
      },
    },
  },
  'weblayer_browsertests': {
    'modifications': {
      'android-11-x86-rel': {
        'args': [
          # TODO(crbug.com/1191784): Fix the test failure
          '--gtest_filter=-DownloadBrowserTest.OverrideDownloadDirectory',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          # TODO(crbug.com/1191784): Fix the test failure
          '--gtest_filter=-DownloadBrowserTest.OverrideDownloadDirectory',
        ],
      },
      'android-pie-arm64-rel': {
        # TODO(crbug.com/1111436): Move this back to walleye if/when additional
        # capacity has been deployed.
        'swarming': {
          'quickrun_shards': 2,
          'dimension_sets': [
            {
              'device_type': 'sailfish',
            },
          ],
        },
      },
    },
  },
  'weblayer_bundle_test': {
    'remove_from': [
      'android-marshmallow-x86-rel-non-cq', # crbug.com/1088013
      'android-11-x86-rel', # crbug.com/1165280
    ],
  },
  'weblayer_instrumentation_test_apk': {
    'remove_from': [
      'android-marshmallow-x86-rel-non-cq', # crbug.com/1088013
      'android-11-x86-rel', # crbug.com/1165280
    ],
    'modifications': {
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'quickrun_shards': 2,
        },
      },
      'android-pie-arm64-rel': {
        # TODO(crbug.com/1111436): Move this back to walleye if/when additional
        # capacity has been deployed.
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'sailfish',
            },
          ],
        },
      },
    },
  },
  'weblayer_private_instrumentation_test_apk': {
    'modifications': {
      # TODO(crbug.com/1189403): Remove the filter once the issue is fixed.
      'android-11-x86-rel': {
        'args': [
          '--gtest_filter=-org.chromium.weblayer.test.MediaCaptureTest.*',
        ],
      },
      'android-12-x64-rel': {
        'args': [
          # crbug.com/1275200
          '--gtest_filter=-org.chromium.weblayer.test.BrowserControlsTest.testTopExpandedOnLoadWhenOnlyExpandAtTop',
        ],
      },
    },
  },
  'weblayer_shell_wpt': {
    'modifications': {
      'android-weblayer-pie-x86-wpt-smoketest': {
        'args': [
          '--default-exclude',
          '--include-file=../../third_party/blink/web_tests/android/WPTSmokeTestCases',
        ],
        'swarming': {
          'shards': 1,
        },
      },
    },
  },
  'webview_64_cts_tests': {
    'modifications': {
      'android-pie-arm64-rel': {
        # TODO(crbug.com/1111436): Move this back to walleye if/when additional
        # capacity has been deployed.
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'sailfish',
            },
          ],
        },
      },
    },
  },
  'webview_cts_tests': {
    'modifications': {
      'android-pie-arm64-rel': {
        # TODO(crbug.com/1111436): Move this back to walleye if/when additional
        # capacity has been deployed.
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'sailfish',
            },
          ],
        },
      },
    },
  },
  'webview_instrumentation_test_apk': {
    'remove_from': [
      # This test frequently fails on Android, https://crbug.com/824959
      # matching android builders, the test fails on these.
      'ToTAndroid',
      'android-asan',  # https://crbug.com/964562
      'android-code-coverage-native', # Does not generate profraw data.
      'android-pie-arm64-coverage-experimental-rel', # Does not generate profraw data.

      # On chromium.swarm, this should possibly be being run (or removed
      # from android-marshmallow-arm64-rel-swarming).
      # https://crbug.com/1147531 - covered on pie
      'android-marshmallow-arm64-rel',
    ],
    'modifications': {
      'Oreo Phone Tester': {
        # TODO(crbug.com/997362): Enable this once it's passing.
        # TODO(https://crbug.com/884413): Re-enable this once the tests are
        # either passing or there is more capacity.
        'experiment_percentage': 0,
      },
      'android-11-x86-rel': {
        'args': [
          # TODO(crbug.com/1189746) Enable this test once the issue is fixed.
          '--gtest_filter=-org.chromium.net.NetworkChangeNotifierTest.testNetworkChangeNotifierJavaObservers',
        ],
      },
      'android-marshmallow-x86-fyi-rel-reviver': {
        'swarming': {
          'shards': 9,
        },
      },
      'android-marshmallow-x86-rel': {
        'swarming': {
          'shards': 9,
        },
      },
      'android-pie-arm64-rel': {
        'swarming': {
          'shards': 9,
        },
      },
      'android-pie-x86-rel': {
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/android.emulator.webview_instrumentation_test_apk.filter',
        ],
        'swarming': {
          'shards': 9,
        },
      },
    },
  },
  'webview_ui_test_app_test_apk': {
    'remove_from': [
      'android-11-x86-rel', # crbug.com/1165280
    ],
  },
}
