# 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 `test-descriptions.py` for a description
# of the fields used here.

# Note that these are in lexical order

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:
            windows.*: ['mozilla-central', 'try']
            linux64-qr/.*: ['graphics']
            linux64-stylo/.*: [ 'stylo', 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
            default: ['all']
    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.*:
                            - remove_executables.py
                            - 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:
            linux64-qr/.*: ['graphics', 'mozilla-central']
            linux64-stylo/.*: [ 'stylo', 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
            default: ['all']
    chunks:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 10
            android.*: 4
            default: 1
    e10s:
        by-test-platform:
            windows.*: false # Bug 1304435
            linux64-ccov/opt: false
            macosx64/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.*:
                            - remove_executables.py
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --reftest-suite=crashtest

external-media-tests-base:
    description: "External Media Test run"
    suite: external-media-tests
    unittest-try-name: 'media-tests'
    treeherder-symbol: tc-VP(b-m)
    e10s: false
    tier: 2
    max-run-time: 5400
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            default: ['all']
    mozharness:
        script: firefox_media_tests_taskcluster.py
        config:
            by-test-platform:
                windows.*:
                    - mediatests/taskcluster_windows_config.py
                default:
                    - mediatests/taskcluster_posix_config.py
                    - remove_executables.py

external-media-tests-twitch:
    description: "External Media Test Twitch run"
    suite: external-media-tests/twitch
    treeherder-symbol: tc-VP(b-t)
    unittest-try-name: media-twitch-tests
    e10s: false
    instance-size:
        by-test-platform:
            default: default
    tier: 2
    max-run-time: 5400
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            default: ['all']
    mozharness:
        script: firefox_media_tests_taskcluster.py
        config:
            by-test-platform:
                windows.*:
                    - mediatests/taskcluster_windows_config.py
                default:
                    - mediatests/taskcluster_posix_config.py
                    - remove_executables.py
        extra-options:
            - "--suite=media-twitch-tests"

external-media-tests-youtube:
    description: "External Media Test Youtube run"
    suite: external-media-tests/youtube
    unittest-try-name: media-youtube-tests
    treeherder-symbol: tc-VP(b-y)
    e10s: false
    tier: 2
    max-run-time: 5400
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            default: ['all']
    mozharness:
        script: firefox_media_tests_taskcluster.py
        config:
            by-test-platform:
                windows.*:
                    - mediatests/taskcluster_windows_config.py
                default:
                    - mediatests/taskcluster_posix_config.py
                    - remove_executables.py
        extra-options:
            - "--suite=media-youtube-tests"

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
    tier: 1
    docker-image: {"in-tree": "desktop1604-test"}
    mozharness:
        script: firefox_ui_tests/functional.py
        config:
            - 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:
            - firefox_ui_tests/taskcluster.py
            - remove_executables.py
        extra-options:
            - "--tag"
            - "remote"

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/.*: ['graphics']
            default: ['all']
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: 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:
            - --gtest-suite=gtest

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/.*: ['graphics']
            default: ['all']
    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.*:
                    - remove_executables.py
                    - unittests/mac_unittest.py
                linux.*:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --jittest-suite=jittest-chunked

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-qr/.*: 4
            macosx.*: 2
            default: 3
    e10s:
        by-test-platform:
            # Bug 1321782
            windows.*: false
            android.*: false
            linux64-ccov/opt: false
            macosx.*: true
            default: both
    max-run-time:
        by-test-platform:
            android.*: 7200
            default: 3600
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            linux64-qr/.*: ['graphics', 'mozilla-central']
            default: ['all']
    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.*:
                            - remove_executables.py
                            - unittests/mac_unittest.py
                        linux.*:
                            - unittests/linux_unittest.py
                            - remove_executables.py
                extra-options:
                    - --reftest-suite=jsreftest
    when:
        files-changed:
            - js/src/**
            - js/public/**

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
            linux64-ccov/opt: 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:
            linux64-ccov/opt: false
            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
                        default:
                            - marionette/prod_config.py
                            - remove_executables.py

mochitest:
    description: "Mochitest plain run"
    suite:
        by-test-platform:
            linux64-jsdcov/opt: mochitest/plain-chunked-coverage
            default: mochitest/plain-chunked
    treeherder-symbol: tc-M()
    tags:
        test-type: mochitest
    loopback-video: true
    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: 32
            android.*: 20
            macosx.*: 5
            windows.*: 5
            linux.*: 10
    e10s:
        by-test-platform:
            linux64-ccov/opt: false
            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
    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=mochitest
            default:
                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:
                    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/.*: ['graphics']
            default: ['all']
    mozharness:
        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=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
    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
            linux64-ccov/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
    mozharness:
        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:
            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
            linux64-ccov/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:
            linux64/opt: ['mozilla-central', 'try']
            linux64-nightly/opt: ['mozilla-central', 'try']
            default: []
    e10s: true
    max-run-time: 3600
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: 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=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
    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
    mozharness:
        by-test-platform:
            android.*:
                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:
                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

mochitest-clipboard:
    description: "Mochitest clipboard run"
    suite: mochitest/clipboard
    treeherder-symbol: tc-M(cl)
    loopback-video: true
    instance-size: xlarge
    e10s:
      by-test-platform:
        macosx64/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:
                    # note that Android runs fewer suites than other platforms
                    - --test-suite=mochitest-plain-clipboard
            default:
                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

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
    chunks:
        by-test-platform:
            windows.*: 8
            macosx.*: 8
            default: 10
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            default: ['all']
    e10s:
        by-test-platform:
            linux64-ccov/opt: false
            linux64-jsdcov/opt: false
            # Bug 1304433: mochitest-devtools-chrome (e10s) not greened on windows
            windows.*: false
            macosx64/debug: true
            default: both
    mozharness:
        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:
            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
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['graphics']
            default: ['all']
    e10s:
        by-test-platform:
            windows.*: both
            android.*: false
            macosx64/opt: both
            default: true
    mozharness:
        by-test-platform:
            android.*:
                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:
                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-gpu,chrome-gpu,browser-chrome-gpu

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"}
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            default: ['all']
    mozharness:
        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=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
    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
            default: 3
    docker-image: {"in-tree": "desktop1604-test"}
    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=mochitest-media
            default:
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked:
                  by-test-platform:
                    macosx64.*: false
                    default: 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=mochitest-media

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:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        chunked: true
        config:
            by-test-platform:
                windows.*:
                    - unittests/win_taskcluster_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)
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['graphics', 'mozilla-central']
            default: ['all']
    chunks:
        by-test-platform:
            android.*: 10
            default: 3
    e10s:
      by-test-platform:
        macosx.*: true
        default: both
    loopback-video: true
    max-run-time:
        by-test-platform:
            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.*:
                script: android_emulator_unittest.py
                no-read-buildbot-config: true
                config:
                    - android/androidarm_4_3.py
                extra-options:
                    - --test-suite=mochitest-gl
            default:
                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=mochitest-gl

mochitest-style:
    description: "Mochitest plain run for style system"
    suite: mochitest/mochitest-style
    treeherder-symbol: tc-M(s)
    loopback-video: true
    e10s: false
    run-on-projects:
        by-test-platform:
            linux64-stylo/.*: [ 'stylo', 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
            default: ['all']
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - unittests/linux_unittest.py
                    - remove_executables.py
        extra-options:
            - --mochitest-suite=mochitest-style

reftest:
    description: "Reftest run"
    suite: reftest/reftest
    treeherder-symbol: tc-R(R)
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['graphics', 'mozilla-central']
            default: ['all']
    instance-size:
        by-test-platform:
            android.*: xlarge
            default: default
    chunks:
        by-test-platform:
            android-4.3-arm7-api-15/debug: 48
            android.*: 16
            macosx64/opt: 1
            macosx64/debug: 2
            default: 8
    max-run-time:
        by-test-platform:
            android.*: 10800
            default: 3600
    e10s:
        by-test-platform:
            linux64-ccov/opt: false
            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=reftest
            default:
                script: desktop_unittest.py
                no-read-buildbot-config: true
                chunked:
                  by-test-platform:
                    macosx64/opt: false
                    default: 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:
                    - --reftest-suite=reftest

reftest-no-accel:
    description: "Reftest not accelerated run"
    suite: reftest/reftest-no-accel
    treeherder-symbol: tc-R(Ru)
    docker-image: {"in-tree": "desktop1604-test"}
    run-on-projects:
        by-test-platform:
            linux64-qr/.*: ['graphics', 'mozilla-central']
            default: ['all']
    chunks:
      by-test-platform:
        macosx.*: 1
        default: 8
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: 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:
            - --reftest-suite=reftest-no-accel

reftest-stylo:
    description: "Reftest run for Stylo"
    suite: reftest/reftest-stylo
    treeherder-symbol: tc-R(Rs)
    chunks: 16
    run-on-projects:
        by-test-platform:
            linux64-stylo/opt: [ 'stylo', 'autoland', 'mozilla-central', 'try' ]
            linux64-stylo/debug: [ 'stylo', 'autoland', 'mozilla-inbound', 'mozilla-central', 'try' ]
    e10s:
        by-test-platform:
            linux64-stylo/opt:
                by-project:
                    mozilla-inbound: false
                    default: both
            linux64-stylo/debug:
                # only e10s on inbound
                by-project:
                    mozilla-inbound: true
                    default: both
    mozharness:
        script: desktop_unittest.py
        no-read-buildbot-config: true
        config:
            - 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
    talos-try-name: chromez
    treeherder-symbol: tc-T(c)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=chromez

talos-dromaeojs:
    description: "Talos dromaeojs"
    suite: talos
    talos-try-name: dromaeojs
    treeherder-symbol: tc-T(d)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=dromaeojs

talos-g1:
    description: "Talos g1"
    suite: talos
    talos-try-name: g1
    treeherder-symbol: tc-T(g1)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=g1

talos-g2:
    description: "Talos g2"
    suite: talos
    talos-try-name: g2
    treeherder-symbol: tc-T(g2)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=g2

talos-g3:
    description: "Talos g3"
    suite: talos
    talos-try-name: g3
    treeherder-symbol: tc-T(g3)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=g3

talos-g4:
    description: "Talos g4"
    suite: talos
    talos-try-name: g4
    treeherder-symbol: tc-T(g4)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=g4

talos-other:
    description: "Talos other"
    suite: talos
    talos-try-name: other
    treeherder-symbol: tc-T(o)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=other

talos-svgr:
    description: "Talos svgr"
    suite: talos
    talos-try-name: svgr
    treeherder-symbol: tc-T(s)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=svgr

talos-tp5o:
    description: "Talos tp5o"
    suite: talos
    talos-try-name: tp5o
    treeherder-symbol: tc-T(tp)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    max-run-time: 3600
    mozharness:
        script: talos_script.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                default:
                    - talos/linux_config.py
                    - remove_executables.py
        extra-options:
            - --suite=tp5o

awsy:
    description: "Are we slim yet"
    suite: awsy
    treeherder-symbol: tc-SY(sy)
    run-on-projects: ['mozilla-beta', 'mozilla-aurora', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
    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
                default:
                    - awsy/linux_config.py

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:
            linux64-ccov/opt: false
            macosx.*: true
            default: both
    max-run-time: 7200
    instance-size: xlarge
    docker-image: {"in-tree": "desktop1604-test"}
    checkout: true
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            default: ['all']
    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
                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
    e10s:
        by-test-platform:
            # Bug 1304438
            windows.*: false
            macosx.*: true
            default: both
    docker-image: {"in-tree": "desktop1604-test"}
    checkout: true
    run-on-projects:
        by-test-platform:
            windows.*: ['mozilla-central', 'try']
            default: ['all']
    mozharness:
        script: web_platform_tests.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - web_platform_tests/prod_config_windows_taskcluster.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"}
    checkout: true
    mozharness:
        script: web_platform_tests.py
        no-read-buildbot-config: true
        config:
            by-test-platform:
                windows.*:
                    - web_platform_tests/prod_config_windows_taskcluster.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/.*: ['graphics']
            default: ['all']
    chunks:
        by-test-platform:
            linux64/debug: 10
            android-4.2-x86/opt: 6
            # windows.*: 1
            macosx.*: 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.*:
                            - remove_executables.py
                            - 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
