# When changing this file, you can (and should) validate your changes by
# running |./site_utils/suite_scheduler/suite_scheduler.py --sanity|
#
# When adding tests to a suite, if one (or more) of the tests contains
# DEPENDENCIES, then the number of different host specifications required
# can increase. This means that the number of physical machines the suite
# must ask for increases, as if a suite needs two different machines, and
# only asks for one, then there's going to be some set of tests that can't
# run. The sanity check will describe to you what suites to set at what
# number of machines to make sure all suites can run.

#[nightly_params]
#always_handle: True

[WeeklyKernelRegressions]
run_on: weekly
suite: kernel_weekly_regression
branch_specs: >=R21
pool: suites

[WeeklyPowerRequirements]
run_on: weekly
suite: power_requirements
branch_specs: >=R22
pool: power

[NightlyGraphics]
run_on: nightly
suite: graphics
branch_specs: >=R21
pool: suites

[GraphicsGLES]
run_on: new_build
suite: graphicsGLES
branch_specs: >=R22
pool: snow

[NightlyHwQual]
run_on: nightly
suite: hwqual
branch_specs: >=R21
pool: suites
num: 3

[KernelDailyRegression]
run_on: nightly
suite: kernel_daily_regression
branch_specs: >=R21
pool: suites
num: 2

[KernelDailyBenchmarks]
run_on: nightly
suite: kernel_daily_benchmarks
branch_specs: >=R21
pool: suites

[KernelPerBuildRegression]
run_on: new_build
suite: kernel_per-build_regression
branch_specs: >=R21
pool: suites
num: 2

[KernelPerBuildBenchmarks]
run_on: new_build
suite: kernel_per-build_benchmarks
branch_specs: >=R21
pool: suites

[NightlyRegression]
run_on: nightly
suite: regression
branch_specs: >=R21
pool: suites
num: 2

[Network3g]
run_on: nightly
suite: network3g
branch_specs: >=R25
pool: cellular
num: 10

[WifiCellSuite]
run_on: nightly
suite: wificell
pool: wificell
branch_specs: >=R21

[OncCellSuite]
run_on: nightly
suite: onccell
pool: onccell
branch_specs: >=R26

[WiFiChaosSuite]
run_on: nightly
suite: wifichaos
pool: wifichaos
branch_specs: >=R26

[PowerDaily]
run_on: nightly
suite: power_daily
branch_specs: >=R21
pool: power

[Perfalerts]
# Not a part of perf build because it requires 3 machines.
run_on: new_build
suite: perfalerts
branch_specs: >=R21
pool: suites
num: 1

[SecuritySuite]
run_on: new_build
suite: security
branch_specs: >=R21
pool: suites

[Power_build]
run_on: new_build
suite: power_build
branch_specs: >=R21
pool: power

[pyauto]
run_on: new_build
suite: pyauto
branch_specs: >=R21
pool: suites

[pyauto_perf]
run_on: new_build
suite: pyauto_perf
branch_specs: >=R21
pool: suites

[pyauto_perf_snow]
run_on: new_build
suite: pyauto_perf
branch_specs: >=R22
pool: snow

[pyauto_endurance]
run_on: nightly
suite: pyauto_endurance
branch_specs: >=R21
pool: lumpy-celeron

[pyauto_basic]
run_on: new_build
suite: pyauto_basic
branch_specs: >=R21
pool: suites

[pagecycler]
run_on: new_build
suite: pagecycler
branch_specs: >=R21
pool: suites

[audio]
run_on: new_build
suite: audio
branch_specs: >=R21
pool: suites

[video]
run_on: new_build
suite: video
branch_specs: >=R26
pool: suites

[WebRTC]
run_on: nightly
suite: webrtc
branch_specs: >=R26
pool: suites

[sync]
run_on: new_build
suite: sync
branch_specs: >=R21
pool: suites

[browsertests]
run_on: new_build
suite: browsertests
branch_specs: >=R21
pool: suites

[ButterflyBVT]
run_on: new_build
suite: bvt
branch_specs: >=R22
pool: butterfly
num: 4

# run only and post-ALEX platforms (so do not run mario, zgb, and alex)
[VDA]
run_on: new_build
suite: vda
branch_specs: >=R23
pool: vda

[LinkPerf]
run_on: new_build
suite: link_perf
branch_specs: >=R23
pool: link_perf

[FirmwarePerBuildRegression_normal]
run_on: new_build
suite: faft_normal
pool: faft-lab
branch_specs: >=R26

[FirmwarePerBuildRegression_dev]
run_on: new_build
suite: faft_dev
pool: faft-lab
branch_specs: >=R26

[FirmwarePerBuildRegression_ec]
run_on: new_build
suite: faft_ec
pool: faft-lab
branch_specs: >=R26

#[Network_wifi]
# We need to figure out how we can work out the scheduling of this test.
#run_on: nightly
#suite: network_wifi
#branch_specs: >=R21
#pool: ????
