blob: b17f382870f48f2df25a99ff488b004ed45a32ac [file] [log] [blame]
{
// Contains groups of flags with variants, use by browsers
flags: {
flag-group-1: {
// Create variants (2 x 2 = 4) by creating the product of multiple
// flags and values.
--js-flags: [
null, // null => flag is not set
"--max-opt=1",
// "--max-opt=2",
// "--max-opt=4",
],
--enable-fied-trial-config: [
null, // null => flag is not set
"" // "" => flag is set without a value
]
},
// Define custom flag groups here (referenced by name):
chrome-custom: {
// Use strings to create arbitrary flag combinations
"deafult": "",
"experiment_1": "--enable-field-trial-config --disable-features=V8SlowHistograms",
"experiment_2": "--enable-field-trial-config --enable-features=V8SlowHistograms",
},
// ------------------------------------------------------------------------
// Examples:
example-group-1: {
// This will result in 2 x 2 = 4 flag configurations that are run:
//
// 1. no flags (both entries have a `null` variant)
// 2. `--js-flags=--no-opt`
// 3. `--js-flags=--no-opt --enable-field-trial-config`
// 4. `--enable-field-trial-config`
--js-flags: [null, "--no-opt"],
--enable-field-trial-config: [null, ""]
},
example-group-2: {
// This flag group creates 3 x 2 = 6 varaints:
// Use the empty string "" for flags without values
"--enable-fied-trial-config": "",
// A flag with multiple variants:
--js-flags: [
null, // variant 1: null == flag is not set
"--no-opt --no-ic", // variant 2
"--no-sparkplug", // variant 2
]
// Flag with two variants: unset and set
"--no-sandbox": [
null, // variant 1: null => flag is not set
"", // variant 2: "" => flag is set without value
]
},
},
// --------------------------------------------------------------------------
// Contains browser configs
browsers: {
"chrome-stable-with-flags": {
// For "path" you can use a path, browser name, or a versioned browser.
// See '--browser' option for all possible values.
path: "chrome-stable",
# Either the browsers key ("chrome-stable-with-flags") if no label
# is specified, otherwise the this label property ("custom-browser-label")
# is used.
label: "custom-browser-label",
flags: [
// You can reference multiple flag-groups here, any name added to
// the 'flags' dict above can be used here.
"flag-group-1",
// More flag groups can be added, for instance "chrome-custom", and
// you get the product of all flag variants.
// You can also directly define fixed flags
// "--js-flags=--no-opt",
]
}
},
// You can use either comments or other sections to hide configurations
// Supported browser names are:
// * Chrome: chrome-stable, chrome-beta, chrome-dev, chrome-canary
// * Edge: edge-stable, edge-beta, edge-dev, edge-canary
// * Safari: safari, safari-tp
// * Firefox: firefox-stable, firefox-dev, firefox-nightly
browsers-disabled: {
"chrome-stable": {
browser: "chrome-stable", // or any other name
flags: [ /* ... add your flag groups here */ ]
},
"chromium-mac-local": {
path: "~/Documents/chromium/src/out/Release/Chromium.app",
// Use custom chromedriver binary for local builds:
driver: "~/Documents/chromium/src/out/Release/chromedriver"
flags: [ /* ... add your flag groups here */ ]
},
"chrome-android-canary": {
browser: "chrome-canary",
driver: "adb", // Just adb for a single device
flags: [ /* ... add your flag groups here */ ]
},
"chrome-android-canary-pixel": {
browser: "chrome-canary",
driver: {
type: "adb",
device_id: "Pixel_7_Pro" // Use name or serial number
}
flags: [ /* ... add your flag groups here */ ]
},
"safari": {
browser: "safari",
},
"safari-tech-preview": {
browser: "safari-tp",
},
"safari-ios": {
browser: "safari",
driver: {
type: "ios",
// Use the device UUID, see "xcrun xctrace list devices" for avilable
// devices and simulators.
device_id: "00001234-AAAA-BBBB-1111-11AA22BB33DD"
}
}
}
}