blob: 1865019449cf20633a9cfc7c7c07126f2b337856 [file] [log] [blame] [edit]
{
// 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.
// 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, e.g. "--js-flags=--no-opt",
"flag-group-1"
]
}
}
// 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": []
}
"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": []
}
"chrome-android-canary": {
"browser": "chrome-canary"
"driver": "adb" // Just adb for a single device
"flags": []
}
"chrome-android-canary-pixel": {
"browser": "chrome-canary"
"driver": {
"type": "adb"
// Use unique name or serial number from `adb devices -l`
"device_id": "Pixel_7_Pro"
}
"flags": []
}
"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"
}
}
}
}