# 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': [
      # crbug.com/860800
      'Android FYI Release (Nexus 5)',
      # 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,  # https://crbug.com/861753
        },
      },
      'Cast Linux': {
        'args': [
          '--enable-local-file-accesses',
          '--ozone-platform=cast',
          '--no-sandbox',
          '--test-launcher-jobs=1',
        ],
        'swarming': {
          'can_use_on_swarming_builders': False,  # https://crbug.com/861753
        },
      },
    },
  },
  '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',  # https://crbug.com/862581
      # chromium.memory
      'Android CFI',  # https://crbug.com/862581
    ],
    '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': [
      # chromium.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': {
    '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,  # https://crbug.com/861843
        },
      },
      'Cast Linux': {
        'args': [
          '--test-launcher-filter-file=src/testing/buildbot/filters/cast-linux.content_browsertests.filter',
        ],
        'swarming': {
          'can_use_on_swarming_builders': False,  # https://crbug.com/861843
        },
      },
      # 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
    ],
    'modifications': {
      # chromium.win
      'Win10 Tests x64 (dbg)': {
        'experiment_percentage': 100,  # https://crbug.com/861730
      },
    },
  },
  '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': {
    '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,
        },
      },
    },
  },
  'context_lost_tests': {
    'modifications': {
      'Mac FYI GPU ASAN Release': {
        'args': [
          '--is-asan',
        ]
      },
    },
  },
  '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,
        },
      },
    },
  },
  'device_unittests': {
    'modifications': {
      'android-marshmallow-arm64-rel': {
        'swarming': {
          'hard_timeout': 960,
        },
      },
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  'events_unittests': {
    'modifications': {
      'KitKat Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Lollipop Tablet Tester': {
        'swarming': {
          'hard_timeout': 60,
        },
      },
      'Marshmallow Tablet Tester': {
        'swarming': {
          'hard_timeout': 120,
        },
      },
    },
  },
  '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.memory
      'Linux ASan LSan Tests (1)',  # https://crbug.com/843732
      'Linux TSan Tests',  # https://crbug.com/843734
    ],
  },
  'headless_unittests': {
    'remove_from': [
      # chromium.clang
      'ToTLinuxASan',  # https://crbug.com/843732
      # chromium.memory
      'Linux ASan LSan Tests (1)',  # https://crbug.com/843732
    ],
  },
  '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': {
    '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': [
      # Not needed on chromium.fyi because suite is on main waterfall.
      'Mojo ChromiumOS',
    ],
    'modifications': {
      # chromium.chromiumos
      'linux-chromeos-dbg': {
        'swarming': {
          'shards': 20,
        },
      },
      # chromium.memory
      'Linux Chromium OS ASan LSan Tests (1)': {
        'swarming': {
          'shards': 20,
        },
      },
      'Linux ChromiumOS MSan Tests': {
        'swarming': {
          'shards': 20,
        },
      },
    },
  },
  '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,
        },
      },
    },
  },
  '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
    ],
  },
  'net_unittests': {
    'remove_from': [
      # chromium.fyi
      'fuchsia-fyi-arm64-rel',  # https://crbug.com/847915
      'fuchsia-fyi-x64-dbg',  # https://crbug.com/844416 (and 847915)
      # chromium.linux
      'Fuchsia x64',  # https://crbug.com/847915
    ],
    '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)',
      # 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': {
    '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.
    '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)',
    ],
  },
  'wayland_client_perftests': {
    'remove_from': [
      'linux-chromeos-dbg',  # https://crbug.com/859307
    ],
  },
  '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,
        },
      },
    },
  },
}
