# 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

[WeeklyVideoRegressions]
run_on: weekly
suite: video_weekly_regression
branch_specs: >=R27
pool: suites
num: 2

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

[PerBuildGraphics]
run_on: new_build
suite: graphics_per-build
branch_specs: >=R28
pool: suites

[GraphicsGLES]
run_on: nightly
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: >=R26

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

[WiFiChaosSuite]
run_on: nightly
suite: wifichaos
pool: wifichaos
branch_specs: ==R28

[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_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
num: 4

[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
num: 2

[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-normal
branch_specs: >=R26

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

[FirmwarePerBuildRegression_ec]
run_on: new_build
suite: faft_ec
pool: faft-ec
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: ????

[perf_v2]
run_on: new_build
suite: perf_v2
branch_specs: >=R27
pool: suites
