taskcluster/ci/test/tests.yml
author J. Ryan Stinnett <jryans@gmail.com>
Tue, 18 Jul 2017 14:32:06 -0500
changeset 422608 30fb5403e45cdae7577bbfef400b384f944af66d
parent 422568 dcd146cf33b94888d2618cff608641b8fb0ecc42
child 422722 16ffc1d05422a81099ce8b9b59de66dde4c8b2f0
permissions -rw-r--r--
Bug 1380053 - Add Stylo tests for other desktop platforms. r=catlee Enable Stylo tests for win32, win64, and macosx64. Talos will be considered separately. MozReview-Commit-ID: BvTkddDX2Kk

# Each stanza here describes a particular test suite or sub-suite.  These are
# processed through the transformations described in kind.yml to produce a
# bunch of tasks.  See the schema in `taskcluster/taskgraph/transforms/tests.py`
# for a description of the fields used here.

# Note that these are in lexical order, as enforced by the task loader.

awsy:
    description: "Are we slim yet"
    suite: awsy
    treeherder-symbol: tc-SY(sy)
    docker-image: {"in-tree": "desktop1604-test"}
    max-run-time: 7200
    e10s: true
    instance-size: xlarge
    allow-software-gl-layers: false
    mozharness:
        script: awsy_script.py
        config:
            by-test-platform:
                windows.*/opt:
                    - awsy/taskcluster_windows_config.py
                macosx.*/opt:
                    - awsy/macosx_config.py
                default:
                    - awsy/linux_config.py

cppunit:
    description: "CPP Unit Tests"
    suite: cppunittest
    treeherder-symbol: tc(Cpp)
    e10s: false
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            windows10-64-asan/opt: []  # as an exception to windows.*
            linux64-qr/.*: ['mozilla-central', 'try']
            default: built-projects
    mozharness:
        by-test-platform:
            android.*:
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=cppunittest
            default:
                script: desktop_unittest.py
                no-read-buildbot-config: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --cppunittest-suite=cppunittest

crashtest:
    description: "Crashtest run"
    suite: reftest/crashtest
    treeherder-symbol: tc-R(C)
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: default
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    chunks:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 10
            android.*: 4
            default: 1
    e10s:
        by-test-platform:
            macosx64/debug: true
            # Bug 1384701: e10s-off parallel reftest runs crash on shutdown
            linux64-stylo/debug: true
            default: both
    mozharness:
        by-test-platform:
            android.*:
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=crashtest
            default:
                script: desktop_unittest.py
                chunked: false
                no-read-buildbot-config: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --reftest-suite=crashtest
    tier:
        by-test-platform:
            linux64-qr/.*: 1
            default: default

firefox-ui-functional-local:
    description: "Firefox-ui-tests functional run"
    suite: "firefox-ui/functional local"
    treeherder-symbol: tc-Fxfn-l(en-US)
    max-run-time: 5400
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        script: firefox_ui_tests/functional.py
        config:
            by-test-platform:
                windows.*:
                    - firefox_ui_tests/taskcluster_windows.py
                macosx.*:
                    - firefox_ui_tests/taskcluster.py
                linux.*:
                    - firefox_ui_tests/taskcluster.py
                    - remove_executables.py
        extra-options:
            - "--tag"
            - "local"

firefox-ui-functional-remote:
    description: "Firefox-ui-tests functional run"
    suite: "firefox-ui/functional remote"
    treeherder-symbol: tc-Fxfn-r(en-US)
    max-run-time: 5400
    tier: 2
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        script: firefox_ui_tests/functional.py
        config:
            by-test-platform:
                windows.*:
                    - firefox_ui_tests/taskcluster_windows.py
                macosx.*:
                    - firefox_ui_tests/taskcluster.py
                linux.*:
                    - firefox_ui_tests/taskcluster.py
                    - remove_executables.py
        extra-options:
            - "--tag"
            - "remote"

geckoview:
    description: "Geckoview run"
    suite: geckoview
    treeherder-symbol: tc(gv)
    instance-size: xlarge
    loopback-video: true
    e10s: false
    mozharness:
        script: android_emulator_unittest.py
        no-read-buildbot-config: true
        config:
            - android/androidarm_4_3.py
        extra-options:
            - --test-suite=geckoview

gtest:
    description: "GTests run"
    suite: gtest
    treeherder-symbol: tc(GTest)
    e10s: false
    instance-size: xlarge
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['mozilla-central', 'try']
            windows.*-pgo/.*: [] # permafails on pgo
            default: built-projects
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --gtest-suite=gtest
    tier:
        by-test-platform:
            windows7-32-pgo.*: 3
            windows10-64-pgo.*: 3
            default: default

jittest:
    description: "JIT Test run"
    suite: jittest/jittest-chunked
    treeherder-symbol: tc(Jit)
    e10s: false
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['mozilla-central', 'try']
            default: built-projects
    chunks:
        by-test-platform:
            windows.*: 1
            macosx.*: 1
            default: 6
    mozharness:
        chunked:
          by-test-platform:
            windows.*: false
            macosx.*: false
            default: true
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --jittest-suite=jittest-chunked
    when:
        files-changed:
            - js/src/**
            - js/public/**

jsreftest:
    description: "JS Reftest run"
    suite: reftest/jsreftest
    treeherder-symbol: tc-R(J)
    docker-image: {"in-tree": "desktop1604-test"}
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: default
    chunks:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 100
            android.*: 40
            windows.*: 2
            linux64-ccov/.*: 5
            linux64-qr/.*: 4
            macosx.*: 2
            default: 3
    e10s:
        by-test-platform:
            android.*: false
            macosx.*: true
            default: both
    max-run-time:
        by-test-platform:
            android.*: 7200
            default: 3600
    mozharness:
        by-test-platform:
            android.*:
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=jsreftest
            default:
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --reftest-suite=jsreftest
    when:
        files-changed:
            - js/src/**
            - js/public/**
    tier:
        by-test-platform:
            linux64-qr/.*: 1
            default: default

marionette:
    description: "Marionette unittest run"
    suite: marionette
    treeherder-symbol: tc(Mn)
    max-run-time:
        by-test-platform:
            android.*: 3600
            default: 5400
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: default
    docker-image: {"in-tree": "desktop1604-test"}
    tier:
        by-test-platform:
            android.*: 2
            default: default
    chunks:
        by-test-platform:
            android.*: 10
            default: 1
    e10s:
        by-test-platform:
            macosx.*: true
            default: both
    mozharness:
        by-test-platform:
            android.*:
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=marionette
            default:
                script: marionette.py
                no-read-buildbot-config: true
                config:
                    by-test-platform:
                        windows.*:
                            - marionette/windows_taskcluster_config.py
                        macosx.*:
                            - marionette/prod_config.py
                        default:
                            - marionette/prod_config.py
                            - remove_executables.py

marionette-headless:
    description: "Marionette headless unittest run"
    suite: marionette
    treeherder-symbol: tc(MnH)
    max-run-time:
        by-test-platform:
            default: 5400
    instance-size:
        by-test-platform:
            default: default
    docker-image: {"in-tree": "desktop1604-test"}
    tier:
        by-test-platform:
            default: default
    chunks:
        by-test-platform:
            default: 1
    e10s:
        by-test-platform:
            default: both
    mozharness:
        by-test-platform:
            default:
                script: marionette.py
                no-read-buildbot-config: true
                config:
                    by-test-platform:
                        windows.*:
                            - marionette/windows_taskcluster_config.py
                        macosx.*:
                            - marionette/prod_config.py
                        default:
                            - marionette/prod_config.py
                            - remove_executables.py
                extra-options:
                    by-test-platform:
                        default:
                            - --headless

mochitest:
    description: "Mochitest plain run"
    suite:
        by-test-platform:
            linux64-jsdcov/opt: mochitest/plain-chunked-coverage
            default: mochitest/plain-chunked
    treeherder-symbol: tc-M()
    loopback-video: true
    docker-image: {"in-tree": "desktop1604-test"}
    instance-size:
        by-test-platform:
            linux64-jsdcov/opt: xlarge
            android.*: xlarge
            default: legacy # Bug 1281241: migrating to m3.large instances
    chunks:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 48
            android.*: 20
            macosx.*: 5
            windows.*: 5
            linux32/debug: 16
            linux.*: 10
    e10s:
        by-test-platform:
            linux64-jsdcov/opt: false
            android.*: false
            macosx64/debug: true
            default: both
    max-run-time:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 10800
            linux64-jsdcov/opt: 10800
            default: 5400
    allow-software-gl-layers: false
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    mozharness:
        by-test-platform:
            android.*:
                mochitest-flavor: plain
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=mochitest
            default:
                mochitest-flavor: plain
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    by-test-platform:
                        linux64-jsdcov/opt:
                            - --mochitest-suite=plain-chunked-coverage
                        default:
                            - --mochitest-suite=plain-chunked

mochitest-a11y:
    description: "Mochitest a11y run"
    suite: mochitest/a11y
    treeherder-symbol: tc-M(a11y)
    loopback-video: true
    e10s: false
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['mozilla-central', 'try']
            default: built-projects
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked: false
        mochitest-flavor: a11y
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --mochitest-suite=a11y

mochitest-browser-chrome:
    description: "Mochitest browser-chrome run"
    suite:
        by-test-platform:
            linux64-jsdcov/opt: mochitest/browser-chrome-coverage
            default: mochitest/browser-chrome-chunked
    treeherder-symbol: tc-M(bc)
    loopback-video: true
    docker-image: {"in-tree": "desktop1604-test"}
    chunks:
        by-test-platform:
            linux64-jsdcov/opt: 35
            linux64/debug: 16
            linux32/debug: 16
            linux64-asan/opt: 16
            default: 7
    e10s:
        by-test-platform:
            linux64-jsdcov/opt: false
            macosx64/debug: true
            default: both
    max-run-time:
        by-test-platform:
            linux64-jsdcov/opt: 7200
            linux64-ccov/opt: 7200
            linux64/debug: 5400
            linux32/debug: 5400
            default: 3600
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    mozharness:
        mochitest-flavor: browser
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            by-test-platform:
                linux64-jsdcov/opt:
                    - --mochitest-suite=browser-chrome-coverage
                default:
                    - --mochitest-suite=browser-chrome-chunked
    # Bug 1281241: migrating to m3.large instances
    instance-size:
        by-test-platform:
            linux64-jsdcov/opt: xlarge
            default: legacy
    allow-software-gl-layers: false

mochitest-browser-screenshots:
    description: "Mochitest Browser Screenshots"
    suite: mochitest/browser-chrome-screenshots
    treeherder-symbol: tc-M(ss)
    loopback-video: true
    run-on-projects:
        by-test-platform:
            windows.*/opt: ['mozilla-central', 'try']
            linux64/opt: ['mozilla-central', 'try']
            macosx.*/opt: ['mozilla-central', 'try']
            windows7-32-devedition/opt: []
            windows10-64-devedition/opt: []
            default: []
    e10s: both
    max-run-time: 3600
    mozharness:
        mochitest-flavor: browser
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --mochitest-suite=browser-chrome-screenshots
    instance-size: legacy
    allow-software-gl-layers: false

mochitest-chrome:
    description: "Mochitest chrome run"
    suite: mochitest/chrome
    treeherder-symbol: tc-M(c)
    loopback-video: true
    virtualization: hardware
    docker-image: {"in-tree": "desktop1604-test"}
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: default
    chunks:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 4
            android.*: 2
            default: 3
    max-run-time: 3600
    e10s: false
    run-on-projects:
        by-test-platform:
            windows7-32.*: ['try']
            default: built-projects
    worker-type:
        by-test-platform:
            windows7-32.*: buildbot-bridge/buildbot-bridge
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    mozharness:
        by-test-platform:
            android.*:
                mochitest-flavor: chrome
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    by-test-platform:
                        android-4.2-x86/opt:
                            - android/androidx86.py
                        default:
                            - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=mochitest-chrome
            default:
                mochitest-flavor: chrome
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - remove_executables.py
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --mochitest-suite=chrome
    tier:
        by-test-platform:
            windows7-32.*: 2
            default: default

mochitest-chrome-style:
    description: "Mochitest chrome run for style system"
    suite: mochitest/chrome-style
    treeherder-symbol: tc-M(cs)
    loopback-video: true
    docker-image: {"in-tree": "desktop1604-test"}
    e10s: false
    mozharness:
        mochitest-flavor: chrome
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                default:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --mochitest-suite=chrome-style

mochitest-clipboard:
    description: "Mochitest clipboard run"
    suite: mochitest/clipboard
    treeherder-symbol: tc-M(cl)
    loopback-video: true
    virtualization: hardware
    docker-image: {"in-tree": "desktop1604-test"}
    instance-size: xlarge
    e10s:
      by-test-platform:
        macosx64/debug: true
        default: both
    run-on-projects:
        by-test-platform:
            windows.*: ['try']
            default: built-projects
    worker-type:
        by-test-platform:
            windows7-32.*: buildbot-bridge/buildbot-bridge
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    mozharness:
        by-test-platform:
            android.*:
                mochitest-flavor: plain
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    # note that Android runs fewer suites than other platforms
                    - --test-suite=mochitest-plain-clipboard
            default:
                mochitest-flavor: plain
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked: false
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - remove_executables.py
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --mochitest-suite=plain-clipboard,chrome-clipboard,browser-chrome-clipboard,jetpack-package-clipboard
    tier:
        by-test-platform:
            windows7-32.*: 2
            default: default

mochitest-devtools-chrome:
    description: "Mochitest devtools-chrome run"
    suite:
        by-test-platform:
            linux64-jsdcov/opt: mochitest/mochitest-devtools-chrome-coverage
            default: mochitest/mochitest-devtools-chrome-chunked
    treeherder-symbol: tc-M(dt)
    loopback-video: true
    max-run-time: 5400
    docker-image: {"in-tree": "desktop1604-test"}
    chunks:
        by-test-platform:
            windows.*: 8
            macosx.*: 8
            default: 10
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    e10s:
        by-test-platform:
            linux64-jsdcov/opt: false
            macosx64/debug: true
            default: both
    mozharness:
        mochitest-flavor: chrome
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            by-test-platform:
                linux64-jsdcov/opt:
                    - --mochitest-suite=mochitest-devtools-chrome-coverage
                default:
                    - --mochitest-suite=mochitest-devtools-chrome-chunked
    instance-size:
        by-test-platform:
            # Bug 1281241: migrating to m3.large instances
            linux64-asan/opt: legacy
            default: default
    # Bug 1296086: high number of intermittents observed with software GL and large instances
    allow-software-gl-layers: false

mochitest-gpu:
    description: "Mochitest GPU run"
    suite: mochitest/gpu
    treeherder-symbol: tc-M(gpu)
    loopback-video: true
    virtualization: virtual-with-gpu
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    e10s:
        by-test-platform:
            windows.*: both
            android.*: false
            macosx64/opt: both
            default: true
    mozharness:
        by-test-platform:
            android.*:
                mochitest-flavor: plain
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    # note that Android runs fewer suites than other platforms
                    - --test-suite=mochitest-plain-gpu
            default:
                mochitest-flavor: plain
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked: false
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --mochitest-suite=plain-gpu,chrome-gpu,browser-chrome-gpu
    tier:
        by-test-platform:
            linux64-qr/.*: 1
            default: default

mochitest-jetpack:
    description: "Mochitest jetpack run"
    suite: mochitest/jetpack-package
    treeherder-symbol: tc-M(JP)
    loopback-video: true
    e10s: false
    max-run-time: 5400
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        mochitest-flavor: jetpack-package
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked: false
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --mochitest-suite=jetpack-package
            - --mochitest-suite=jetpack-addon

mochitest-media:
    description: "Mochitest media run"
    suite: mochitest/mochitest-media
    treeherder-symbol: tc-M(mda)
    max-run-time: 5400
    loopback-video: true
    docker-image: {"in-tree": "desktop1604-test"}
    e10s:
      by-test-platform:
        macosx64/debug: true
        default: both
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: large
    chunks:
        by-test-platform:
            android.*: 3
            macosx64.*: 1
            windows8-64.*: 1
            default: 3
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    mozharness:
        by-test-platform:
            android.*:
                mochitest-flavor: plain
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=mochitest-media
            default:
                mochitest-flavor: plain
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked:
                  by-test-platform:
                    macosx64.*: false
                    windows8-64.*: false
                    default: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --mochitest-suite=mochitest-media
    tier:
        by-test-platform:
            linux64-qr/.*: 1
            default: default

mochitest-style:
    description: "Mochitest plain run for style system"
    suite: mochitest/plain-style
    treeherder-symbol: tc-M(s)
    loopback-video: true
    docker-image: {"in-tree": "desktop1604-test"}
    e10s:
        by-test-platform:
            # Bug 1384701: e10s-off parallel reftest runs crash on shutdown
            linux64-stylo/debug: true
            default: both
    mozharness:
        mochitest-flavor: plain
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                default:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --mochitest-suite=plain-style

mochitest-valgrind:
    description: "Mochitest plain Valgrind run"
    suite: mochitest/valgrind-plain
    treeherder-symbol: tc-M-V()
    run-on-projects: []
    loopback-video: true
    chunks: 40
    max-run-time: 14400
    # We could re-enable e10s later.
    # There's no intrinsic reason not to use it.
    e10s: false
    allow-software-gl-layers: false
    mozharness:
        mochitest-flavor: plain
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --mochitest-suite=valgrind-plain

mochitest-webgl:
    description: "Mochitest webgl run"
    suite: mochitest/mochitest-gl
    treeherder-symbol: tc-M(gl)
    virtualization: virtual-with-gpu
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    chunks:
        by-test-platform:
            android.*: 10
            default: 3
    e10s:
      by-test-platform:
        windows7.*: true
        macosx.*: true
        default: both
    loopback-video: true
    max-run-time:
        by-test-platform:
            windows.*: 5400
            android.*: 7200
            default: 3600
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: default
    # Bug 1296733: llvmpipe with mesa 9.2.1 lacks thread safety
    allow-software-gl-layers: false
    mozharness:
        by-test-platform:
            android.*:
                mochitest-flavor: plain
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=mochitest-gl
            default:
                mochitest-flavor: plain
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --mochitest-suite=mochitest-gl
    tier:
        by-test-platform:
            linux64-qr/.*: 1
            default: default

reftest:
    description: "Reftest run"
    suite: reftest/reftest
    treeherder-symbol: tc-R(R)
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: default
    virtualization: virtual-with-gpu
    chunks:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 48
            android.*: 16
            macosx64/opt: 1
            macosx64/debug: 2
            windows8-64.*/opt: 1
            windows8-64.*/debug: 2
            default: 8
    max-run-time:
        by-test-platform:
            android.*: 10800
            default: 3600
    e10s:
        by-test-platform:
            macosx.*: true
            # Bug 1384701: e10s-off parallel reftest runs crash on shutdown
            linux64-stylo/debug: true
            default: both
    mozharness:
        by-test-platform:
            android.*:
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=reftest
            default:
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked:
                  by-test-platform:
                    macosx64/opt: false
                    windows8-64.*/opt: false
                    windows8-64.*/debug: true
                    default: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --reftest-suite=reftest
    tier:
        by-test-platform:
            linux64-qr/.*: 1
            default: default

reftest-gpu:
    description: "Reftest GPU run"
    suite: reftest/reftest-gpu
    treeherder-symbol: tc-R(Rg)
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            windows10.*: []
            windows8-64.*: []
            default: built-projects
    worker-type:
        by-test-platform:
            windows7-32.*/debug: buildbot-bridge/buildbot-bridge
            default: null
    instance-size:
        by-test-platform:
            default: default
    virtualization: virtual-with-gpu
    max-run-time:
        by-test-platform:
            default: 3600
    e10s: true
    mozharness:
        by-test-platform:
            default:
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked:
                  by-test-platform:
                    default: false
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --reftest-suite=reftest-gpu
    tier: default

reftest-no-accel:
    description: "Reftest not accelerated run"
    suite: reftest/reftest-no-accel
    treeherder-symbol: tc-R(Ru)
    virtualization: virtual-with-gpu
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            windows10.*: []
            linux64-qr/.*: ['mozilla-central', 'try']
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    chunks:
        by-test-platform:
            macosx.*: 1
            windows8-64.*/debug: 2
            default: 8
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked:
            by-test-platform:
                windows8-64.*/debug: true
                default: false
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --reftest-suite=reftest-no-accel

reftest-stylo:
    description: "Reftest run for Stylo"
    suite: reftest/reftest-stylo
    treeherder-symbol: tc-R(Rs)
    docker-image: {"in-tree": "desktop1604-test"}
    chunks: 16
    run-on-projects:
        by-test-platform:
            .*-stylo/opt: [ 'autoland', 'mozilla-central', 'try' ] # not on mozilla-inbound
            linux64-stylo-sequential/opt: [ 'mozilla-central']
            default: built-projects
    e10s:
        # run only e10s tests for this platform see bug 1343301
        by-test-platform:
            .*-stylo/opt:
                # no opt on inbound see bug 1339604
                by-project:
                    autoland: true
                    mozilla-central: true
                    default: true
            .*-stylo/debug:
                by-project:
                    autoland: true
                    mozilla-central: true
                    mozilla-inbound: true
                    default: true
            linux64-stylo-sequential/opt:
                by-project:
                    mozilla-central: true
                    default: true
            linux64-stylo-sequential/debug:
                by-project:
                    mozilla-central: true
                    default: true
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_unittest.py
                macosx.*:
                    - unittests/mac_unittest.py
                default:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --reftest-suite=reftest-stylo

robocop:
    description: "Robocop run"
    suite: robocop
    treeherder-symbol: tc-M(rc)
    instance-size: xlarge
    chunks:
        by-test-platform:
            # android-4.3-arm7-api-15/debug -- not run
            android-4.3-arm7-api-15/opt: 4
            android-4.3-arm7-api-15-gradle/opt: 4
    loopback-video: true
    e10s: false
    mozharness:
        script: android_emulator_unittest.py
        no-read-buildbot-config: true
        config:
            - android/androidarm_4_3.py
        extra-options:
            - --test-suite=robocop

talos-chrome:
    description: "Talos chrome"
    suite: talos
    try-name: chromez
    treeherder-symbol: tc-T(c)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=chromez
            - --add-option
            - --webServer,localhost

talos-dromaeojs:
    description: "Talos dromaeojs"
    suite: talos
    try-name: dromaeojs
    treeherder-symbol: tc-T(d)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=dromaeojs
            - --add-option
            - --webServer,localhost

talos-g1:
    description: "Talos g1"
    suite: talos
    try-name: g1
    treeherder-symbol: tc-T(g1)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 7200
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=g1
            - --add-option
            - --webServer,localhost

talos-g2:
    description: "Talos g2"
    suite: talos
    try-name: g2
    treeherder-symbol: tc-T(g2)
    virtualization: hardware
    max-run-time: 7200
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=g2
            - --add-option
            - --webServer,localhost

talos-g3:
    description: "Talos g3"
    suite: talos
    try-name: g3
    treeherder-symbol: tc-T(g3)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=g3
            - --add-option
            - --webServer,localhost

talos-g4:
    description: "Talos g4"
    suite: talos
    try-name: g4
    treeherder-symbol: tc-T(g4)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=g4
            - --add-option
            - --webServer,localhost

talos-g5:
    description: "Talos g5"
    suite: talos
    try-name: g5
    treeherder-symbol: tc-T(g5)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=g5
            - --add-option
            - --webServer,localhost

talos-other:
    description: "Talos other"
    suite: talos
    try-name: other
    treeherder-symbol: tc-T(o)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta','mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=other
            - --add-option
            - --webServer,localhost

talos-perf-reftest:
    description: "Talos perf-reftest"
    suite: talos
    try-name: perf-reftest
    treeherder-symbol: tc-T(p)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central', 'try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=perf-reftest

talos-perf-reftest-singletons:
    description: "Talos perf-reftest singletons"
    suite: talos
    try-name: perf-reftest-singletons
    treeherder-symbol: tc-T(ps)
    virtualization: hardware
    run-on-projects: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=perf-reftest-singletons

talos-quantum-pageload:
    description: "Talos quantum-pageload"
    suite: talos
    try-name: quantum-pageload
    treeherder-symbol: tc-T(q)
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try', 'date']
            default: []
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=quantum-pageload
            - --add-option
            - --webServer,localhost

talos-quantum-pageload-stylo:
    description: "Talos Quantum Pageload Stylo"
    suite: talos
    try-name: q1s
    treeherder-symbol: tc-T(q1s)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
            default: []
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=quantum-pageload-stylo

talos-svgr:
    description: "Talos svgr"
    suite: talos
    try-name: svgr
    treeherder-symbol: tc-T(s)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=svgr
            - --add-option
            - --webServer,localhost

talos-tp5o:
    description: "Talos tp5o"
    suite: talos
    try-name: tp5o
    treeherder-symbol: tc-T(tp)
    virtualization: hardware
    run-on-projects:
        by-test-platform:
            linux64-stylo-sequential/.*: ['mozilla-central','try']
            linux64-stylo/.*: ['mozilla-central', 'try']
            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=tp5o
            - --add-option
            - --webServer,localhost

talos-xperf:
    description: "Talos xperf"
    suite: talos
    try-name: xperf
    treeherder-symbol: tc-T(x)
    run-on-projects:
        by-test-platform:
            windows7-32.*: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try', 'date']
            default: []
    max-run-time: 3600
    e10s: true
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                macosx.*:
                    - talos/mac_config.py
                windows.*:
                    - talos/windows_config.py
                default:
                    - talos/linux_config.py
        extra-options:
            - --suite=xperf
            - --add-option
            - --webServer,localhost

telemetry-tests-client:
    description: "Telemetry tests client run"
    suite: telemetry-tests-client
    treeherder-symbol: tc-e10s
    max-run-time: 5400
    checkout: true
    e10s: true
    tier: 3
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        script: telemetry/telemetry_client.py
        config:
            by-test-platform:
                linux.*:
                    - remove_executables.py
                windows.*: []


web-platform-tests:
    description: "Web platform test run"
    suite: web-platform-tests
    treeherder-symbol: tc-W(wpt)
    chunks:
      by-test-platform:
        macosx64/opt: 5
        macosx64/debug: 10
        default: 12
    e10s:
        by-test-platform:
            macosx.*: true
            default: both
    max-run-time: 7200
    instance-size: xlarge
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        script: web_platform_tests.py
        no-read-buildbot-config: true
        chunked: true
        config:
            by-test-platform:
                windows.*:
                    - web_platform_tests/prod_config_windows_taskcluster.py
                macosx.*:
                    - web_platform_tests/prod_config.py
                default:
                    - web_platform_tests/prod_config.py
                    - remove_executables.py
        extra-options:
            - --test-type=testharness

web-platform-tests-reftests:
    description: "Web platform reftest run"
    suite: web-platform-tests-reftests
    treeherder-symbol: tc-W(Wr)
    max-run-time: 5400
    instance-size: xlarge
    chunks:
      by-test-platform:
        macosx.*: 1
        windows.*: 1
        default: 6
    e10s:
        by-test-platform:
            macosx.*: true
            default: both
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        script: web_platform_tests.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - web_platform_tests/prod_config_windows_taskcluster.py
                macosx.*:
                    - web_platform_tests/prod_config.py
                default:
                    - web_platform_tests/prod_config.py
                    - remove_executables.py
        extra-options:
            - --test-type=reftest

web-platform-tests-wdspec:
    description: "Web platform webdriver-spec run"
    suite: web-platform-tests-wdspec
    treeherder-symbol: tc-W(Wd)
    max-run-time: 5400
    instance-size: xlarge
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        script: web_platform_tests.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - web_platform_tests/prod_config_windows_taskcluster.py
                macosx.*:
                    - web_platform_tests/prod_config.py
                default:
                    - web_platform_tests/prod_config.py
                    - remove_executables.py
        extra-options:
            - --test-type=wdspec

xpcshell:
    description: "xpcshell test run"
    suite:
        by-test-platform:
            linux64-jsdcov/opt: xpcshell-coverage
            default: xpcshell
    treeherder-symbol: tc-X(X)
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['mozilla-central', 'try']
            # Deactivate try on Buildbot, by default. We don't have enough machines
            windows8-64.*: ['mozilla-release', 'mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland']
            windows8-64-devedition/opt: built-projects  # No dev edition outside of supported branches
            windows10-64-asan/opt: []  # No XPCShell on ASAN yet
            default: built-projects
    worker-type:
        by-test-platform:
            windows8-64.*: buildbot-bridge/buildbot-bridge
            default: null
    docker-image: {"in-tree": "desktop1604-test"}
    tier:
        by-test-platform:
            windows10-64.*: 2
            default: default
    chunks:
        by-test-platform:
            linux64/debug: 10
            android-4.2-x86/opt: 6
            macosx.*: 1
            windows.*: 1
            default: 8
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: legacy # Bug 1281241: migrating to m3.large instances
    max-run-time: 5400
    e10s: false
    allow-software-gl-layers: false
    mozharness:
        by-test-platform:
            android.*:
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                extra-options:
                    - --test-suite=xpcshell
                config:
                    by-test-platform:
                        android-4.2-x86/opt:
                            - android/androidx86.py
                        default:
                            - android/androidarm_4_3.py
            default:
                script: desktop_unittest.py
                no-read-buildbot-config: true
                config:
                    by-test-platform:
                        windows.*:
                            - unittests/win_taskcluster_unittest.py
                        macosx.*:
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    by-test-platform:
                        linux64-jsdcov/opt:
                            - --xpcshell-suite=xpcshell-coverage
                        default:
                            - --xpcshell-suite=xpcshell
                requires-signed-builds:
                    by-test-platform:
                        windows10-64-asan/opt: false    # No XPCShell on ASAN yet
                        windows.*: true
                        default: false