# What firmware/twister.py --suites runs: Zephyr's own suites on every
# board, which is the board-compliance run, and then socpuppet's own, each
# on the boards it names. A line is a directory to look for suites in, and
# then any flags that one suite needs. The directory is in Zephyr's tree,
# unless it is firmware or python, or under one of them: those are this
# repository's. The suites with no
# flags are run together, in one run of twister; a suite with flags gets a
# run of its own.
#
# -K (--force-platform) runs a suite on a board its own list of platforms
# leaves out. Zephyr's samples and its RISC-V fatal-error test name the
# boards they are for, and ours are not among them.
#
# What is left out of a suite, and why, is in firmware/twister-quarantine.yaml.

# The kernel: threads, the scheduler, time, and what happens when it all
# goes wrong.
tests/kernel/common
tests/kernel/threads/thread_apis
tests/kernel/sched/schedule_api
tests/kernel/timer/timer_api
tests/kernel/sleep
tests/kernel/context
tests/kernel/workq/work
tests/kernel/fatal/exception
tests/arch/riscv/fatal -K

# The watchdog, which resets the CPU and expects to come back.
tests/drivers/watchdog/wdt_basic_api

# The host's SPI controller, with Python at the far end of the bus: the
# shield puts the test's two devices on it, and its fixture says the board
# has the loopback the test wants.
tests/drivers/spi/spi_loopback -x=SHIELD=socpuppet_host_spi_loopback --fixture spi_loopback

# The host's GPIO, with Python's wire between two of its pins: the shield
# names them, and its fixture says the board has the loopback the test
# wants.
tests/drivers/gpio/gpio_basic_api -x=SHIELD=socpuppet_host_gpio_loopback --fixture gpio_loopback

# The host's I2C controller, with Python's RAM on its bus: the shield
# names the controller, and its fixture says the board has the RAM the
# test wants.
tests/drivers/i2c/i2c_ram -x=SHIELD=socpuppet_host_i2c_ram --fixture i2c_ram

# The host's real-time clock, with socpuppet's driver for it.
tests/drivers/rtc/rtc_api

# The sample that blinks the board's LED, on a pin of the host's GPIO.
# Twister builds it but does not run it: its harness watches a real LED.
# tests/python/test_zephyr_peripheral_samples.py watches the pin instead.
samples/basic/blinky

# The console both ways, and the C library.
tests/subsys/shell/shell
tests/lib/c_lib

# Samples, judged by what they print.
samples/hello_world -K
samples/synchronization -K
# The host's boot flash, through Zephyr's spi_sifive and spi_nor.
samples/drivers/spi_flash

# socpuppet's own applications, each on the board it is for: every
# directory under firmware/ that has a testcase.yaml.
firmware

# The tests of the drivers in socpuppet's Zephyr module, each on the board
# its hardware is on.
python/socpuppet/zephyr_module/tests
