# 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.
#
# The goal is to drive the number of exceptions to zero, to make all
# the bots behave similarly.
{
  'android_webview_unittests': {
    'remove_from': [
      # On chromium.android, these do not need to run prior to M.
      'android-kitkat-arm-rel',
      'KitKat Phone Tester (dbg)',
      'KitKat Tablet Tester',
      # chromium.android.fyi
      'x64 Device Tester',
    ],
    'modifications': {
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 900,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 900,
        },
      },
    },
  },
  'angle_end2end_tests': {
    'remove_from': [
      # chromium.gpu.fyi
      # TODO(ynovikov) Investigate why the test breaks on older devices.
      'Android FYI Release (Nexus 5)',
      'Android FYI Release (Nexus 6)',
      'Android FYI Release (Nexus 9)',
      # Temporarily disabled due to AMDGPU-PRO issues crbug.com/786219
      'Linux FYI Release (AMD R7 240)',
    ],
  },
  'angle_perftests': {
    'remove_from': [
      # anglebug.com/2433
      'Android FYI Release (Nexus 6)',
    ],
  },
  'angle_unittests': {
    'remove_from': [
      # chromium.gpu.fyi
      # On Android, these are already run on the main waterfall.
      'Android FYI Release (Nexus 5X)',
    ],
    'modifications': {
      'Linux ASan LSan Tests (1)': {
        'swarming': {
          'shards': 10,
        },
      },
    },
  },
  'base_unittests': {
    'modifications': {
      # chromium.android
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 600,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 600,
        },
      },
      # chromium.clang
      'ToTMac': {
        'swarming': {
          'shards': 5,
        },
      },
    },
  },
  'blink_heap_unittests': {
    'remove_from': [
      # chromium.memory
      'Linux TSan Tests',  # https://crbug.com/831674
    ],
    'modifications': {
      # chromium.android
      'android-kitkat-arm-rel': {
        'swarming': {
          'hard_timeout': 180,
        },
      },
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Phone Tester (dbg)': {
        'swarming': {
          'hard_timeout': 180,
        },
      },
      # chromium.android.fyi
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'blink_platform_unittests': {
    'modifications': {
      'android-kitkat-arm-rel': {
        'experiment_percentage': 100,
      },
      'android-marshmallow-arm64-rel': {
        'experiment_percentage': 100,
      },
    },
  },
  'breakpad_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
    },
  },
  'browser_tests': {
    'remove_from': [
      # chromium.clang
      'CrWinAsanCov',
      'linux-win_cross-rel',
      'ToTMac', # https://crbug.com/828031
      'ToTMacASan', # https://crbug.com/828031
      # chromium.fyi
      'Chromium Mac 10.13', # https://crbug.com/828031
      'mac-views-rel', # https://crbug.com/828031
      # chromium.mac
      'Mac10.10 Tests', # https://crbug.com/828031
      # chromium.memory
      'Linux TSan Tests',  # https://crbug.com/368525
      'Mac ASan 64 Tests (1)', # https://crbug.com/828031
      # chromium.win
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      # chromium.chromiumos
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 20,
        },
      },
      # chromium.clang
      'ToTWin(dbg)': {
        'swarming': {
          'shards': 20,
        },
      },
      'ToTWin64(dbg)': {
        'swarming': {
          'shards': 20,
        },
      },
      # chromium.mac
      'Mac10.11 Tests': {
        # A subset of tests seem to cause WindowServer deaths on VMs.
        # crbug.com/828031 et al.
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac_window_server_killers.browser_tests.filter',
          '--gtest_shuffle',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'pool': 'Chrome-quarantine',
              'gpu': 'none',
            },
          ],
        },
      },
      'Mac10.12 Tests': {
        # A subset of tests seem to cause WindowServer deaths on VMs.
        # crbug.com/828031 et al.
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac_window_server_killers.browser_tests.filter',
          '--gtest_shuffle',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'pool': 'Chrome-quarantine',
              'gpu': 'none',
            },
          ],
        },
      },
      'Mac10.13 Tests': {
        # A subset of tests seem to cause WindowServer deaths on VMs.
        # crbug.com/828031 et al.
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac_window_server_killers.browser_tests.filter',
          '--gtest_shuffle',
        ],
        'experiment_percentage': 50,
        'swarming': {
          'dimension_sets': [
            {
              'pool': 'Chrome-quarantine',
              'gpu': 'none',
            },
          ],
        },
      },
      'Mac10.13 Tests (dbg)': {
        # A subset of tests seem to cause WindowServer deaths on VMs.
        # crbug.com/828031 et al.
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac_window_server_killers.browser_tests.filter',
          '--gtest_shuffle',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'pool': 'Chrome-quarantine',
              'gpu': 'none',
            },
          ],
        },
      },
      'mac-cocoa-rel': {
        # A subset of tests seem to cause WindowServer deaths on VMs.
        # crbug.com/828031 et al.
        'args': [
          '--test-launcher-filter-file=../../testing/buildbot/filters/mac_window_server_killers.browser_tests.filter',
          '--gtest_shuffle',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'pool': 'Chrome-quarantine',
              'gpu': 'none',
            },
          ],
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 30,
        },
      },
      'Mac ASan 64 Tests (1)': {
        'swarming': {
          'shards': 20,
        },
      },
      # client.v8.chromium
      'Linux - Future (dbg)': {
        'swarming': {
          'shards':  10,
        },
      },
      # chromium.win
      'Win7 Tests (dbg)(1)': {
        'swarming': {
          'shards': 20,
        },
      },
    },
  },
  'capture_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'cast_shell_browsertests': {
    'modifications': {
      'Cast Audio Linux': {
        'args': [
          '--enable-local-file-accesses',
          '--ozone-platform=headless',
          '--no-sandbox',
          '--test-launcher-jobs=1',
        ],
        'swarming': {
          'can_use_on_swarming_builders': False,
        },
      },
      'Cast Linux': {
        'args': [
          '--enable-local-file-accesses',
          '--ozone-platform=cast',
          '--no-sandbox',
          '--test-launcher-jobs=1',
        ],
        'swarming': {
          'can_use_on_swarming_builders': False,
        },
      },
    },
  },
  'cast_unittests': {
    'remove_from': [
      # Unclear why these largely aren't run on Android.
      # TODO(kbr): why are the cast unit tests not run on the Cast bots?!
      'Cast Audio Linux',
      'Cast Linux',
      # chromium.clang
      'ToTAndroidCFI',
      'ToTLinuxThinLTO',
    ],
  },
  'checkbins': {
    'remove_from': [
      'Linux x64',
      'Mac',
    ],
  },
  'chrome_public_test_apk': {
    'remove_gtest_from': [
      # chromium.android.fyi
      'Unswarmed N5 Tests Dummy Builder',
      'Unswarmed N5X Tests Dummy Builder',
    ],
    'remove_from': [
      # chromium.clang
      'ToTAndroidCFI',
      # chromium.memory
      'Android CFI',
    ],
    'key_removals': {
      # chromium.android.fyi
      'Nougat Phone Tester': [
        'args',
      ],
      'x86 Cloud Tester': [
        'args',
      ],
    },
    'modifications': {
      # chromium.android
      'android-kitkat-arm-rel': {
        'swarming': {
          'shards': 12,
        },
      },
      'android-marshmallow-arm64-rel': {
        # TODO(crbug.com/731759): Enable this once we're confident that it
        # passes.
        'experiment_percentage': 100,
      },
      'KitKat Phone Tester (dbg)': {
        'swarming': {
          'shards': 20,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 2400,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'hard_timeout': 1800,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
        },
      },
      'Marshmallow 64 bit Tester': {
        # TODO(crbug.com/731759): Enable this once we're confident that it
        # passes.
        'experiment_percentage': 100,
        'swarming': {
          'hard_timeout': 1200,
          'shards': 14,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 8,
        },
      },
      'x64 Device Tester': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 1,
        },
      },
      # chromium.clang
      'ToTAndroid x64': {
        'swarming': {
          'shards': 1,
          'hard_timeout': 0,
        },
      },
      # chromium.swarm
      'Android N5X Swarm': {
        # TODO(crbug.com/731759): Enable this once we're confident that it
        # passes.
        'experiment_percentage': 100,
      },
    },
  },
  'chrome_public_test_vr_apk': {
    'remove_gtest_from': [
      # chromium.android
      'KitKat Tablet Tester',
      'Lollipop Tablet Tester',
      'Marshmallow Tablet Tester',
    ],
    'modifications': {
      'android-kitkat-arm-rel': {
        'args': [
          '--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json',
          '--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk',
        ],
        'swarming': {
          'hard_timeout': 1920,
        },
      },
      'android-marshmallow-arm64-rel': {
        'args': [
          '--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json',
          '--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk',
        ],
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      'Lollipop Phone Tester': {
        'args': [
          '--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json',
          '--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk',
        ],
        'swarming': {
          'hard_timeout': 1920,
        },
      },
      'Marshmallow 64 bit Tester': {
        'args': [
          '--shared-prefs-file=//chrome/android/shared_preference_files/test/vr_cardboard_skipdon_setupcomplete.json',
          '--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk',
        ],
      },
    },
  },
  'chrome_sync_shell_test_apk': {
    'remove_gtest_from': [
      # chromium.android.fyi
      'Unswarmed N5 Tests Dummy Builder',
      'Unswarmed N5X Tests Dummy Builder',
    ],
    'key_removals': {
      # chromium.android.fyi
      'Nougat Phone Tester': [
        'args',
      ],
      'x64 Device Tester': [
        'args',
      ],
      'x86 Cloud Tester': [
        'args',
      ],
    },
    'modifications': {
      # chromium.android
      'KitKat Phone Tester (dbg)': {
        'swarming': {
          'shards': 2,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      # chromium.android.fyi
      'x64 Device Tester': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 600,
        },
      },
      # chromium.clang
      'ToTAndroid x64': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      'ToTAndroidCFI': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      # chromium.memory
      'Android CFI': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
    },
  },
  'chromevox_tests': {
    'modifications': {
      # Takes a long time under msan for some reason.
      'Linux ChromiumOS MSan Tests': {
        'swarming': {
          'shards': 4,
        },
      },
    },
  },
  'components_browsertests': {
    'remove_from': [
      # On chromium.linux, unclear why these aren't run on the Cast bots.
      'Cast Audio Linux',
      'Cast Linux',
      'Linux Tests (dbg)(1)(32)',
      # chromium.win
      'Win7 Tests (dbg)(1)',
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 600,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 600,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 600,
        },
      },
    },
  },
  'components_unittests': {
    'remove_from': [
      # On chromium.linux, unclear why these aren't run on the Cast bots.
      'Cast Audio Linux',
      'Cast Linux',
    ],
    'modifications': {
      # chromium.android
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 1500,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      'Marshmallow 64 bit Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1500,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 960,
          'shards': 1,
        },
      },
      'x64 Device Tester': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 5,
        },
      },
    },
  },
  'content_browsertests': {
    'modifications': {
      # chromium.android
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 6,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
          'shards': 6,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'hard_timeout': 1800,
          'shards': 6,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
          'shards': 6,
        },
      },
      'Marshmallow 64 bit Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 6,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
          'shards': 6,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 6,
        },
      },
      'Unswarmed N5 Tests Dummy Builder': {
        'args': [
          '--shard-timeout',
          '600',
        ],
      },
      'Unswarmed N5X Tests Dummy Builder': {
        'args': [
          '--shard-timeout',
          '600',
        ],
      },
      'x64 Device Tester': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 960,
          'shards': 1,
        },
      },
      # chromium.chromiumos
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 2,
        },
      },
      'linux-chromeos-rel': {
        'swarming': {
          'shards': 2,
        },
      },
      # chromium.clang
      'ToTLinuxUBSanVptr': {
        'swarming': {
          'shards': 5,
        },
      },
      'linux-win_cross-rel': {
        # content_browsertests sometimes times out without this override on
        # the cross bot, probably because of https://crbug.com/803591,
        # see also https://crbug.com/838559
        # TODO(thakis): Remove this once 803591 is fixed.
        'swarming': {
          'shards': 5,
        },
      },
      # chromium.linux
      'Cast Audio Linux': {
        'args': [
          '--test-launcher-filter-file=src/testing/buildbot/filters/cast-linux.content_browsertests.filter',
        ],
        'swarming': {
          'can_use_on_swarming_builders': False,
        },
      },
      'Cast Linux': {
        'args': [
          '--test-launcher-filter-file=src/testing/buildbot/filters/cast-linux.content_browsertests.filter',
        ],
        'swarming': {
          'can_use_on_swarming_builders': False,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 8,
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        # content_browsertests is slow on ASAN try bot. crbug.com/822461.
        'swarming': {
          'shards': 4,
        }
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 5,
        },
      },
      'Mac ASan 64 Tests (1)': {
        'swarming': {
          'shards': 2,
        },
      },
      # chromium.win
      'Win7 Tests (dbg)(1)': {
        'swarming': {
          'shards': 2,
        },
      },
      # chromium.win
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,
      },
    },
  },
  'content_shell_crash_test': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',  # https://crbug.com/859264
    ],
  },
  'content_shell_test_apk': {
    'remove_gtest_from': [
      # chromium.android.fyi
      'Unswarmed N5 Tests Dummy Builder',
      'Unswarmed N5X Tests Dummy Builder',
    ],
    'key_removals': {
      # chromium.android.fyi
      'Nougat Phone Tester': [
        'args',
      ],
      'x86 Cloud Tester': [
        'args',
      ],
    },
    'modifications': {
      # chromium.android
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
          'shards': 2,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'shards': 2,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1500,
          'shards': 2,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 4,
        },
      },
      'x64 Device Tester': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 1920,
          'shards': 1,
        },
      },
      # chromium.clang
      'ToTAndroid x64': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
      'ToTAndroidCFI': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
      # chromium.memory
      'Android CFI': {
        'swarming': {
          'hard_timeout': 0,
          'shards': 1,
        },
      },
    },
  },
  'content_unittests': {
    'remove_from': [
      # chromium.linux
      # Fails due to package install issues (https://crbug.com/858692).
      'Fuchsia x64',

      # chromium.fyi
      'Fuchsia (dbg)',
      'Fuchsia ARM64',
    ],
    'modifications': {
      # TODO(dpranke) - on chromium.swarm, remove this exception.
      'Android N5X Swarm': {
        'swarming': {
          'shards': 4,
        },
      },
      # chromium.android
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1500,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
      'x64 Device Tester': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      # chromium.fyi
      'Site Isolation Android': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 2,
        },
      },
    },
  },
  'crashpad_tests': {
    'remove_from': [
      # chromium.clang
      'linux-win_cross-rel', # https://crbug.com/762167
    ],
  },
  'cronet_test_instrumentation_apk': {
    'modifications': {
      'Android Cronet Builder (dbg) chromium.android.fyi': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
      'Android Cronet KitKat Builder chromium.android.fyi': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
    },
  },
  'dbus_unittests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
    ],
  },
  'device_unittests': {
    'remove_from': [
      # chromium.win
      'Win7 Tests (dbg)(1)',
    ],
    'modifications': {
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'devtools_closure_compile': {
    'remove_from': [
      # On chromium.linux, unclear why these only run on "Linux Tests".
      'Linux Tests (dbg)(1)',
      'Linux Tests (dbg)(1)(32)',
      # client.v8.chromium
      'Linux - Future (dbg)',
    ],
  },
  'devtools_eslint': {
    'remove_from': [
      # On chromium.linux, unclear why these only run on "Linux Tests".
      'Linux Tests (dbg)(1)',
      'Linux Tests (dbg)(1)(32)',
      # client.v8.chromium
      'Linux - Future (dbg)',
    ],
  },
  'events_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'extensions_browsertests': {
    'remove_from': [
      # On chromium.mac, unclear why these aren't run.
      'Mac10.10 Tests',
      'Mac10.11 Tests',
      'Mac10.12 Tests',
      'Mac10.13 Tests',
      'Mac10.13 Tests (dbg)',
      # chromium.win
      'Win10 Tests x64 (dbg)',
    ],
  },
  'filesystem_service_unittests': {
    'remove_from': [
      'Linux Tests (dbg)(1)(32)',
    ],
  },
  'gin_unittests': {
    'remove_from': [
      # chromium.clang
      'ToTLinuxASan',  # https://crbug.com/831667
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # https://crbug.com/831667
      'Linux Chromium OS ASan LSan Tests (1)',  # https://crbug.com/831667
      # client.v8.chromium
      'Linux - Future (dbg)',
    ],
  },
  'gl_tests': {
    'remove_from': [
      # chromium.clang
      'CFI Linux (icall)',
      'CFI Linux ToT',
      # chromium.gpu.fyi
      'Android FYI Release (Nexus 5X)',
      # chromium.memory
      # Can't run on MSAN because gl_tests uses the hardware driver,
      # which isn't instrumented.
      'Linux MSan Tests',
    ],
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      # chromium.memory
      # 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:1cb3',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'use_xvfb': False,
      },
      'Linux ASan LSan Tests (1)': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:1cb3',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'use_xvfb': False,
      },
      'Linux CFI': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:1cb3',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'use_xvfb': False,
      },
      'Linux TSan Tests': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:1cb3',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'use_xvfb': False,
      },
    },
  },
  'gl_unittests': {
    'remove_from': [
      # chromium.gpu.fyi
      # 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)',
      # Temporarily disabled due to AMDGPU-PRO issues crbug.com/786219
      'Linux FYI Release (AMD R7 240)',
    ],
    'modifications': {
      # chromium.android
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'Marshmallow 64 bit Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      # chromium.clang
      'CFI Linux (icall)': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:1cb3',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'use_xvfb': False,
      },
      'CFI Linux ToT': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:1cb3',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'use_xvfb': False,
      },
      # chromium.memory
      'Linux CFI': {
        'args': [
          '--use-gpu-in-tests',
          '--no-xvfb',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '10de:1cb3',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'use_xvfb': False,
      },
    },
  },
  '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',
    ],
  },
  'headless_browsertests': {
    'remove_from': [
      # chromium.clang
      'ToTLinuxASan',  # https://crbug.com/843732
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # On chromium.mac, unclear why these aren't run on "Mac10.11 Tests".
      'Mac10.11 Tests',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # https://crbug.com/843732
      'Linux TSan Tests',  # https://crbug.com/843734
      # client.v8.chromium
      'Linux - Future (dbg)',
      # chromium.win
      'Win10 Tests x64 (dbg)',
    ],
  },
  'headless_unittests': {
    'remove_from': [
      # chromium.clang
      'ToTLinuxASan',  # https://crbug.com/843732
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # On chromium.mac, unclear why these aren't run on "Mac10.11 Tests".
      'Mac10.11 Tests',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # https://crbug.com/843732
      # client.v8.chromium
      'Linux - Future (dbg)'
    ],
  },
  'info_collection_tests': {
    'remove_from': [
      # chromium.gpu.fyi
      # The Mac ASAN swarming bot runs tests on two different GPU
      # types, so we can't have one expected vendor ID / device ID.
      'Mac FYI GPU ASAN Release',
      # client.v8.fyi
      'Android V8 FYI Release (Nexus 5X)',
      'Linux V8 FYI Release (NVIDIA)',
      'Linux V8 FYI Release - concurrent marking (NVIDIA)',
      'Mac V8 FYI Release (Intel)',
      'Win V8 FYI Release (NVIDIA)',
    ],
  },
  'interactive_ui_tests': {
    'modifications': {
      # chromium.win
      'Win7 Tests (dbg)(1)': {
        'swarming': {
          'shards': 4,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are slow on the ASan trybot for some reason, crbug.com/794372
        'swarming': {
          'shards': 6,
        },
      },
      'Linux TSan Tests': {
        # These are slow on the TSan trybot for some reason, crbug.com/794372
        'swarming': {
          'shards': 6,
        },
      },
      # client.v8.chromium
      'Linux - Future (dbg)': {
        'swarming': {
          'shards': 3,
        },
      },
      # chromium.win; temporary, https://crbug.com/818832
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,
      },
    },
  },
  'ipc_tests': {
    'remove_from': [
      # chromium.linux
      'Fuchsia x64',
    ],
    'modifications': {
      # chromium.android
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      # chromium.android.fyi
      'Unswarmed N5 Tests Dummy Builder': {
        'args': [
          '--shard-timeout',
          '600',
        ],
      },
      'Unswarmed N5X Tests Dummy Builder': {
        'args': [
          '--shard-timeout',
          '600',
        ],
      },
    },
  },
  'latency_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
    },
  },
  'mash_browser_tests': {
    'remove_from': [
      # chromium.memory
      # Unclear why this isn't run. http://crbug.com/814403
      'Linux Chromium OS ASan LSan Tests (1)',
      'Linux ChromiumOS MSan Tests',  # https://crbug.com/830944
      # Not needed on chromium.fyi because suite is on main waterfall.
      'Mojo ChromiumOS',
    ],
  },
  'mash_unittests': {
    'remove_from': [
      # chromium.fyi
      'Mojo ChromiumOS',
    ],
  },
  'media_blink_unittests': {
    'modifications': {
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
    },
  },
  'media_unittests': {
    'remove_from': [
      # chromium.linux
      'Fuchsia x64',
      # chromium.fyi
      'Fuchsia ARM64',
    ],
  },
  'metrics_python_tests': {
    'remove_from': [
      # chromium.fyi
      'Chromium Mac 10.13',
    ],
  },
  'mojo_test_apk': {
    'modifications': {
      # chromium.clang
      'ToTAndroidCFI': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      # chromium.clang
      'Android CFI': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
    },
  },
  'nacl_helper_nonsfi_unittests': {
    'remove_from': [
      # chromium.memory
      'Linux TSan Tests',  # Sets enable_nacl=false.
    ],
  },
  'nacl_loader_unittests': {
    'remove_from': [
      # chromium.clang
      'ToTMacASan',  # The mac asan tot bot sets enable_nacl=false
      'linux-win_cross-rel',  # Sets enable_nacl=false, https://crbug.com/774186
      # chromium.memory
      'Linux TSan Tests',  # The TSan bot sets enable_nacl=false
      'Mac ASan 64 Tests (1)',  # The mac asan bot sets enable_nacl=false
    ],
  },
  'native_theme_unittests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
    ],
  },
  'net_unittests': {
    'remove_from': [
      # chromium.fyi
      'Fuchsia (dbg)',
      'Fuchsia ARM64',
      # chromium.linux
      'Fuchsia x64',
    ],
    'modifications': {
      # chromium.clang
      'ToTLinuxASan': {
        # TODO(crbug.com/794372): net_unittests is slow under ASan.
        'swarming': {
          'shards': 16,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 16,
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        'swarming': {
          'shards': 8,
        }
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 4,
        }
      },
      # The suite runs signficantly slower on linux dbg, so increase shards.
      'Linux Tests (dbg)(1)': {
        'swarming': {
          'shards': 2,
        },
      },
      'Linux Tests (dbg)(1)(32)': {
        'swarming': {
          'shards': 2,
        },
      },
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 2,
        },
      },
    },
  },
  'network_service_browser_tests': {
    'remove_from': [
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
      # chromium.win
      'Win7 Tests (1)',  # For swarming capacity reasons.
      'Win10 Tests x64 (dbg)',  # Matches browser_tests.
    ],
  },
  'network_service_components_browsertests': {
    'remove_from': [
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
      # chromium.win
      'Win7 Tests (1)',  # For swarming capacity reasons.
      'Win10 Tests x64 (dbg)',  # Matches components_browsertests.
    ],
  },
  'network_service_content_browsertests': {
    'remove_from': [
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
      # chromium.win
      'Win7 Tests (1)',  # For swarming capacity reasons.
      'Win10 Tests x64 (dbg)',  # flaky: https://crbug.com/852786
    ],
  },
  'network_service_extensions_browsertests': {
    'remove_from': [
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
      # chromium.win
      'Win7 Tests (1)',  # For swarming capacity reasons.
      'Win10 Tests x64 (dbg)',  # Matches extensions_browsertests.
    ],
  },
  'network_service_interactive_ui_tests': {
    'remove_from': [
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
      # chromium.win
      'Win7 Tests (1)',  # For swarming capacity reasons.
    ],
    'modifications': {
      # chromium.win
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,  # https://crbug.com/852786
      },
    },
  },
  'notification_helper_unittests': {
    'remove_from': [
      # The test uses WinRT, which only exists in Windows 8 or above.
      # (https://crbug.com/813553)
      # chromium.win
      'Win 7 Tests x64 (1)',
      'Win7 Tests (1)',
      'Win7 Tests (dbg)(1)',
      # chromium.clang; all these bots run Windows 7.
      'CrWinAsan',
      'CrWinAsan(dll)',
      'CrWinAsanCov',
      'CrWinClangLLD',
      'CrWinClangLLD64',
      'CrWinClngLLD64dbg',
      'CrWinClngLLDdbg',
      'ToTWin',
      'ToTWin(dbg)',
      'ToTWin(dll)',
      'ToTWin64',
      'ToTWin64(dbg)',
      'ToTWin64(dll)',
      'ToTWinCFI',
      'ToTWinCFI64',
      'ToTWinLibcxx64',
      'ToTWinThinLTO64',
    ],
  },
 'remoting_unittests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',  # https://crbug.com/852895
    ],
  },
  'sandbox_linux_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'linux-chromeos-dbg': {
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'linux-chromeos-rel': {
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Linux Tests (dbg)(1)': {
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Linux Tests (dbg)(1)(32)': {
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
    },
  },
  'services_unittests': {
    'remove_from': [
      # chromium.clang
      'ToTLinuxMSan',  # https://crbug.com/831676
      # chromium.gpu.fyi
      # The face and barcode detection tests fail on the Mac Pros.
      'Mac Pro FYI Release (AMD)',
      # On chromium.linux, unclear why these aren't run on Cast.
      'Cast Audio Linux',
      'Cast Linux',
      # chromium.memory
      'Linux ChromiumOS MSan Tests',  # https://crbug.com/831676
      'Linux MSan Tests',  # https://crbug.com/831676
    ],
  },
  'not_site_per_process_browser_tests': {
    'remove_from': [
      # chromium.fyi
      'Site Isolation Android',
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
    'modifications': {
      'Linux Tests (dbg)(1)': {
        'swarming': {
          'shards': 10,
        },
      },
      # client.v8.chromium
      'Linux - Future (dbg)': {
        'swarming': {
          'shards': 10,
        },
      },
    },
  },
  'site_per_process_components_browsertests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'site_per_process_components_unittests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'site_per_process_content_browsertests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
    'modifications': {
      # chromium.fyi
      'Site Isolation Android': {
        'swarming': {
          'shards': 6,
        },
      },
    },
  },
  'site_per_process_content_unittests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'site_per_process_extensions_browsertests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'site_per_process_extensions_unittests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'not_site_per_process_interactive_ui_tests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'not_site_per_process_sync_integration_tests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'not_site_per_process_unit_tests': {
    'remove_from': [
      # chromium.fyi
      'Site Isolation Android',
      # chromium.linux
      'Linux Tests (dbg)(1)(32)',
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # No capacity, https://crbug.com/852442
      'Linux TSan Tests',  # No capacity, https://crbug.com/852442
    ],
  },
  'site_per_process_webkit_layout_tests': {
    'remove_from': [
      # chromium.linux
      # TODO(dpranke): Should we be running this step on Linux Tests (dbg)(1)?
      'Linux Tests (dbg)(1)',
      'Linux Tests (dbg)(1)(32)',
    ],
  },
  'sizes': {
    'remove_from': [
      'Win',
      'Win x64',
    ],
    'modifications': {
      # chromium
      'Mac': {
        'args': [
          'mac-release/sizes',
        ],
      },
      'Linux x64': {
        'args': [
          'linux-release-64/sizes',
        ],
      },
      # chromium.android.fyi
      'Android Cronet KitKat Builder': {
        'args': [
          '--platform',
          'android-cronet',
          '--perf-id',
          'android_cronet_builder',
          'cronet-arm/sizes',
        ],
        'override_compile_targets': [
          'cronet',
        ],
      },
    },
  },
  'sql_unittests': {
    'remove_from': [
      # chromium.fyi
      'Fuchsia ARM64',
    ],
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'storage_unittests': {
    'modifications': {
      # chromium.android
      'android-kitkat-arm-rel': {
        'swarming': {
          'hard_timeout': 180,
        },
      },
      'KitKat Phone Tester (dbg)': {
        'swarming': {
          'hard_timeout': 180,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
      'Marshmallow 64 bit Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
    },
  },
  'sync_integration_tests': {
    'modifications': {
      'Win7 Tests (dbg)(1)': {
        'swarming': {
          'shards': 2,
        },
      },
    },
    'remove_from': [
      # chromium.memory
      'Linux TSan Tests',  # https://crbug.com/852002
    ],
  },
  'performance_test_suite': {
    'modifications': {
      'Mac10.13 Tests (dbg)': {
        'args': [
          '--browser=debug',
        ],
      },
      'Win10 Tests x64 (dbg)': {
        'args': [
          '--browser=debug_x64',
        ],
        'experiment_percentage': 100,
      },
      'Win7 Tests (dbg)(1)': {
        'args': [
          '--browser=debug',
        ],
      },
    },
  },
  'swiftshader_unittests': {
    'remove_from': [
      # Save capacity on the hardware where we have only a few machines.
      'Mac FYI Experimental Release (Intel)',
      'Mac FYI Experimental Retina Release (AMD)',
      'Mac FYI Experimental Retina Release (NVIDIA)',
      'Mac Pro FYI Release (AMD)',
    ],
  },
  'tab_capture_end2end_tests': {
    # Run these only on Release bots, and don't run them on TSAN.
    'remove_from': [
      # chromium.gpu
      'Linux Debug (NVIDIA)',
      'Mac Debug (Intel)',
      'Mac Retina Debug (AMD)',
      'Win10 Debug (NVIDIA)',
      # chromium.gpu.fyi
      'Win10 FYI Debug (NVIDIA)',
      'Win7 FYI Debug (AMD)',
    ],
  },
  'telemetry_perf_unittests': {
    'modifications': {
      # chromium.android
      'android-kitkat-arm-rel': {
        'args': [
          '--browser=android-chromium',
          '--device=android',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'temp_band': '<30',
            },
          ],
          'hard_timeout': 1500,
          'shards': 15,
        },
      },
      'android-marshmallow-arm64-rel': {
        'args': [
          '--browser=android-chromium',
          '--device=android',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'temp_band': '<30',
            },
          ],
          'hard_timeout': 1500,
          'shards': 15,
        },
      },
      # chromium.android.fyi
      'x86 Cloud Tester': {
        'args': [
          '--browser=android-chromium',
          '--device=android',
        ],
        'swarming': {
          'shards': 1,
        },
      },
      # chromium.linux
      'Linux Tests': {
        'args': [
          '--xvfb',
          '--jobs=1',
        ],
      },
      'Linux Tests (dbg)(1)': {
        'args': [
          '--xvfb',
          '--jobs=1',
        ],
      },
      'linux-xenial-rel': {
        'args': [
          '--xvfb',
          '--jobs=1',
        ],
      },
      # chromium.mac
      # Disable parallelism on all Mac bots.
      'Mac10.10 Tests': {
        'args': [
          '--jobs=1',
        ],
      },
      'Mac10.11 Tests': {
        'args': [
          '--jobs=1',
        ],
      },
      'Mac10.12 Tests': {
        'args': [
          '--jobs=1',
        ],
      },
      'Win7 Tests (dbg)(1)': {
        'args': [
          '--jobs=1',
        ],
        'swarming': {
          'shards': 20,
        },
        'experiment_percentage': 100,
      },
    },
    'remove_from': [
      'Linux Tests (dbg)(1)(32)',
      'Mac10.13 Tests',
      'Mac10.13 Tests (dbg)',
      # client.v8.chromium
      'Linux - Future (dbg)',
      # chromium.win
      'Win10 Tests x64 (dbg)',
    ],
  },
  'telemetry_unittests': {
    'remove_from': [
      # chromium.win
      'Win10 Tests x64 (dbg)',
    ],
  },
  'traffic_annotation_auditor_unittests': {
    'modifications': {
      'Linux Tests': {
        # Unclear why this isn't swarmed.
        'swarming': {
          'can_use_on_swarming_builders': False,
        },
      },
    },
    'remove_from': [
      # On chromium.linux, unclear why these only run on "Linux Tests".
      'Linux Tests (dbg)(1)',
      'Linux Tests (dbg)(1)(32)',
    ],
  },
  'ui_android_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'ui_base_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'ui_touch_selection_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'unit_tests': {
    'remove_from': [
      # On chromium.linux, unclear why these aren't run on Cast.
      'Cast Audio Linux',
      'Cast Linux',
      # chromium.win
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      # chromium.android
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
          'shards': 2,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'hard_timeout': 960,
          'shards': 2,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
      'Marshmallow 64 bit Tester': {
        'swarming': {
          'hard_timeout': 960,
          'shards': 2,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 2,
        },
      },
      'x64 Device Tester': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 0,
        },
      },
      # chromium.clang
      'ToTLinuxASan': {
        'swarming': {
          'shards': 2,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 4,
        },
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 2,
        },
      },
      # chromium.swarm
      'Android N5X Swarm': {
        'swarming': {
          'shards': 8,
        },
      },
    },
  },
  'video_decode_accelerator_gl_unittest': {
    'remove_from': [
      # chromium.gpu.fyi
      # Windows Intel doesn't have the GL extensions to support this test.
      'Optional Win10 Release (Intel HD 630)',
      'Win10 FYI Release (Intel HD 630)',
      'Win10 FYI Exp Release (Intel HD 630)',
    ],
  },
  'viz_content_browsertests': {
    'remove_from': [
      # Currently flaky timeouts on Windows 10. crbug.com/839824
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      # chromium.clang
      'ToTLinuxUBSanVptr': {
        'swarming': {
          'shards': 5,
        },
      },
      'linux-win_cross-rel': {
        # content_browsertests sometimes times out without this override on
        # the cross bot, probably because of https://crbug.com/803591,
        # see also https://crbug.com/838559
        # TODO(thakis): Remove this once 803591 is fixed.
        'swarming': {
          'shards': 5,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 8,
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        # content_browsertests is slow on ASAN try bot. crbug.com/822461.
        'swarming': {
          'shards': 4,
        }
      },
      'Linux TSan Tests': {
        'swarming': {
          'shards': 7,
        },
      },
    },
  },
  'viz_browser_tests': {
    'remove_from': [
      # chromium.clang
      'ToTMac', # https://crbug.com/828031
      'ToTMacASan', # https://crbug.com/828031
      # chromium.fyi
      'Chromium Mac 10.13', # https://crbug.com/828031
      'mac-views-rel', # https://crbug.com/828031
      # chromium.mac
      'Mac10.10 Tests', # https://crbug.com/828031
      'Mac10.11 Tests', # https://crbug.com/828031
      'Mac10.12 Tests', # https://crbug.com/828031
      'Mac10.13 Tests', # https://crbug.com/828031
      'Mac10.13 Tests (dbg)', # https://crbug.com/828031
      # chromium.memory
      'Linux TSan Tests',  # https://crbug.com/368525
      'Mac ASan 64 Tests (1)', # https://crbug.com/828031
      # chromium.win
      # Currently too flaky on Windows.
      'Win 7 Tests x64 (1)',
      'Win10 Tests x64',
      'Win7 Tests (1)',
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      # chromium.chromiumos
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 20,
        },
      },
      # chromium.clang
      'ToTWin(dbg)': {
        'swarming': {
          'shards': 20,
        },
      },
      'ToTWin64(dbg)': {
        'swarming': {
          'shards': 20,
        },
      },
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 20,
        },
      },
    },
  },
  'viz_unittests': {
    'remove_from': [
      # chromium.win
      'Win10 Tests x64',
    ],
    'modifications': {
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
    },
  },
  'vr_common_unittests': {
    'remove_from': [
      # chromium.win
      'Win 7 Tests x64 (1)',
      'Win10 Tests x64',
    ],
    'modifications': {
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 300,
        },
      },
    },
  },
  'vr_browser_tests': {
    'remove_from': [
      # chromium.gpu.fyi
      # TODO(kbr): remove the following two exceptions after switching
      # to the new generate_buildbot_json script.
      'Win10 FYI Exp Release (Intel HD 630)',
      'Win7 FYI Release (AMD)',
      # This exception probably needs to stay due to lack of capacity
      # on the Win AMD bots.
      'Win7 FYI Debug (AMD)',
    ],
  },
  'vr_pixeltests': {
    'remove_from': [
      # chromium.fyi
      'VR Linux',
      # chromium.win
      'Win 7 Tests x64 (1)',
      'Win10 Tests x64',
      'Win7 Tests (1)',
      'Win7 Tests (dbg)(1)',
    ],
  },
  'webgl_conformance_d3d9_passthrough_tests': {
    'remove_from': [
      # TODO(jdarpinian): Re-enable when http://crbug.com/841789 is fixed.
      'Win10 FYI Exp Release (Intel HD 630)',
    ],
  },
  'webgl_conformance_d3d9_tests': {
    'remove_from': [
      # TODO(jdarpinian): Re-enable when http://crbug.com/841789 is fixed.
      'Win10 FYI Exp Release (Intel HD 630)',
    ],
  },
  'webgl_conformance_tests': {
    'modifications': {
      # On desktop platforms these don't take very long (~7 minutes),
      # but on Android they take ~30 minutes and we want to use more
      # shards than on desktop.
      # chromium.gpu
      'Android Release (Nexus 5X)': {
        'swarming': {
          'shards': 6,
        },
      },
      'Mac FYI GPU ASAN Release': {
        'args': [
          '--is-asan',
        ]
      },
    },
  },
  'webgl_conformance_gl_passthrough_tests': {
    'remove_from': [
      # crbug.com/555545 and crbug.com/649824:
      # Disable webgl_conformance_gl_tests on some Win/AMD cards.
      # Always fails on older cards, flaky on newer cards.
      'Win7 FYI Debug (AMD)',
      'Win7 FYI Release (AMD)',
    ],
  },
  'webgl2_conformance_tests': {
    'remove_from': [
      # The Mac NVIDIA Retina bots don't have the capacity to run
      # this test suite on mac_optional_gpu_tests_rel.
      'Optional Mac Retina Release (NVIDIA)',
    ],
    'modifications': {
      'Mac FYI GPU ASAN Release': {
        'args': [
          '--is-asan',
        ]
      },
    },
  },
  'webkit_layout_tests': {
    'remove_from': [
      # chromium.linux
      'Linux Tests (dbg)(1)(32)', # 32-bit linux is unsupported
      # chromium.win
      'Win 7 Tests x64 (1)',  # 64-bit win is unsupported by the layout tests.
      'Win10 Tests x64 (dbg)',
    ],
    'modifications': {
      # chromium.fyi
      'linux-blink-gen-property-trees': {
        'args': [
          '--debug',
          '--additional-driver-flag=--enable-blink-gen-property-trees',
        ],
      },
      'linux-blink-heap-incremental-marking': {
        'args': [
          '--debug',
          '--additional-driver-flag=--enable-blink-features=HeapIncrementalMarkingStress',
        ],
      },
      'mac10.10-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            { # This should match Mac10.10 Tests on chromium.mac.
              'gpu': 'none',
              'os': 'Mac-10.10',
            }
          ]
        },
      },
      'mac10.11-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            { # This should match Mac10.11 Tests on chromium.mac.
              'gpu': 'none',
              'os': 'Mac-10.11',
            }
          ]
        },
      },
      'mac10.12-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            { # This should match Mac10.12 Tests on chromium.mac.
              'gpu': '8086:0a2e',
              'hidpi': '0',
              'os': 'Mac-10.12',
            },
          ],
        },
      },
      'mac10.12_retina-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            { # This should match WebKit Mac10.12 (retina) on chromium.webkit.
              'gpu': '8086:0a2e',
              'hidpi': '1',
              'os': 'Mac-10.12',
            },
          ],
        },
      },
      'mac10.13-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            { # This should match Chromium Mac 10.13 on chromium.fyi.
              'gpu': '8086:0a2e',
              'hidpi': '0',
              'os': 'Mac-10.13',
            },
          ],
          'shards': 12,
        },
      },
      'WebKit Linux layout_ng Dummy Builder': {
        'args': [
          '--additional-driver-flag=--enable-blink-features=LayoutNG',
          '--additional-driver-flag=--enable-slimming-paint-v175',
        ],
        'swarming': {
          'shards': 15,
        },
      },
      'WebKit Linux root_layer_scrolls Dummy Builder': {
        'args': [
          '--additional-driver-flag=--root-layer-scrolls',
        ],
        'swarming': {
          'shards': 15,
        },
      },
      'WebKit Linux slimming_paint_v2 Dummy Builder': {
        'args': [
          '--additional-driver-flag=--enable-slimming-paint-v2',
        ],
        'swarming': {
          'shards': 15,
        },
      },
      # chromium.linux
      'Linux Tests': {
        'swarming': {
          'dimension_sets': [
            {
              # TODO(kbr): this is essentially redundant.
              'os': 'Ubuntu-14.04',
            },
          ],
          'shards': 6,
        },
      },
      'Linux Tests (dbg)(1)': {
        'args': [
          '--debug',
        ],
        'swarming': {
          'dimension_sets': [
            {
              # TODO(kbr): this is essentially redundant.
              'os': 'Ubuntu-14.04',
            },
          ],
          'shards': 20,
        },
      },
      # chromium.mac
      'Mac10.10 Tests': {
        # TODO(kbr): this is essentially redundant.
        'swarming': {
          'dimension_sets': [
            {
              'gpu': 'none',
              'os': 'Mac-10.10.5',
            },
          ],
        },
      },
      'Mac10.11 Tests': {
        # TODO(kbr): this is essentially redundant.
        'swarming': {
          'dimension_sets': [
            {
              'gpu': 'none',
              'os': 'Mac-10.11.6',
            },
          ],
        },
      },
      'Mac10.12 Tests': {
        # TODO(kbr): if the Swarming dimensions were explicitly specified for
        # all jobs then this wouldn't be needed. However, note that this bot
        # implicitly specifies gpu:none rather than gpu:8086:0a2e.
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '8086:0a2e',
              'hidpi': '0',
              'os': 'Mac-10.12.6',
            },
          ],
          'shards': 12,
        },
      },
      'Mac10.13 Tests': {
        # TODO(jbudorick,dpranke): Switch this to 10.13.

        # TODO(kbr): if the Swarming dimensions were explicitly specified for
        # all jobs then this wouldn't be needed. However, note that this bot
        # implicitly specifies gpu:none rather than gpu:8086:0a2e.
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '8086:0a2e',
              'hidpi': '0',
              'os': 'Mac-10.12.6',
            },
          ],
          'shards': 12,
        },
      },
      'Mac10.13 Tests (dbg)': {
        'args': [
          '--debug',
        ],
      },
      # chromium.clang
      'ToTMac': {
        # TODO(thakis): Remove this once Mac10.13 Tests no longer runs tests on 10.12.
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '8086:0a2e',
              'hidpi': '0',
              'os': 'Mac-10.12.6',
            },
          ],
          'shards': 12,
        },
      },

      # chromium.webkit.
      'WebKit Linux Trusty ASAN': {
        'args': [
          '--additional-expectations',
          '../../third_party/WebKit/LayoutTests/ASANExpectations',
          '--time-out-ms',
          '48000',
          '--enable-sanitizer',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-14.04',
            },
          ],
          'shards': 20,
        },
      },
      'WebKit Linux Trusty Leak': {
        'args': [
          '--additional-expectations',
          '../../third_party/WebKit/LayoutTests/LeakExpectations',
          '--time-out-ms',
          '48000',
          '--enable-leak-detection',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-14.04',
            },
          ],
          'shards': 10,
        },
      },
      'WebKit Linux Trusty MSAN': {
        'args': [
          '--additional-expectations',
          '../../third_party/WebKit/LayoutTests/MSANExpectations',
          '--time-out-ms',
          '66000',
          '--enable-sanitizer',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-14.04',
            },
          ],
          'expiration': 36000,
          'hard_timeout': 10800,
          'io_timeout': 3600,
          'shards': 20,
        },
      },
      'WebKit Win10': {
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-10-15063',
            },
          ],
        },
      },
      # chromium.win
      'Win7 Tests (dbg)(1)': {
        'args': [
          '--debug',
          '--time-out-ms',
          '60000'
        ],
        'experiment_percentage': 100,
        # TODO(kbr): the "Windows-7-SP1" Swarming dimension set is implicit,
        # from prefered_os_dimension in
        # tools/build/scripts/slave/recipe_modules/swarming/api.py. Ideally,
        # Swarming dimensions would be either specified for all testers on the
        # waterfall (and therefore, explicitly specified for all tests in the
        # generated JSON), or this would be removed, and the implicit one used.
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-7-SP1',
            }
          ],
        },
      },
      'Win10 Tests x64 (dbg)': {
        'args': [
          '--debug',
          '--target',
          'Debug_x64',
        ],
      },
    },
  },
  'webkit_unit_tests': {
    'modifications': {
      # chromium.memory
      'Linux ASan LSan Tests (1)': {
        # These are very slow on the ASAN trybot for some reason.
        # crbug.com/794372
        'swarming': {
          'shards': 5,
        },
      },
      'Marshmallow 64 bit Tester': {
        # Increase timeout. See https://crbug.com/847229.
        'swarming': {
          'hard_timeout': 1200,
        },
      },
    },
  },
  'webview_instrumentation_test_apk': {
    'remove_gtest_from': [
      'Unswarmed N5 Tests Dummy Builder',
      'Unswarmed N5X Tests Dummy Builder',
    ],
    'remove_from': [
      # This test frequently fails on Android, https://crbug.com/824959
      # chromium.android
      'android-kitkat-arm-rel',
      'KitKat Phone Tester (dbg)',
      'KitKat Tablet Tester',
      # chromium.android.fyi
      # chromium.clang; matching chromium.android, the test fails on these.
      'ToTAndroid',
      # On chromium.swarm, this should possibly be being run (or removed
      # from Android N5X Swarm).
      'Android N5 Swarm',
    ],
    'key_removals': {
      # chromium.android.fyi
      'Nougat Phone Tester': [
        'args',
      ],
      'x86 Cloud Tester': [
        'args',
      ],
    },
    'modifications': {
      # chromium.android
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 8,
        },
      },
      'Lollipop Phone Tester': {
        'swarming': {
          'shards': 6,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
          'shards': 6,
        },
      },
      'Marshmallow 64 bit Tester': {
        'swarming': {
          'hard_timeout': 1200,
          'shards': 8,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 1800,
          'shards': 6,
        },
      },
      # chromium.android.fyi
      'Nougat Phone Tester': {
        'swarming': {
          'hard_timeout': 1500,
          'shards': 6,
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
    },
  },
}
