sanitycheck: support testcases in yaml instead of ini

This commit changes the syntax of the testcase files and changes the
behaviour and configuration of the sanitycheck script.

To avoid having multiple files with different syntax for boards,
samples, tests; this change unifies the syntax and uses YAML instead of
INI.

We maintain the current keywords used in the old syntax and maintain the
flexibility of adding tests with different configuration by using YAML
list configuration. On top of that, the following features are added:

- We now scan for board configurations in the boards directory and look
for a YAML file describing a board and how it should be tested. This
eliminates the need for listing boards per architecture in a special ini
file under scripts/.

- We define hardware information charachterstics in the board YAML file
that helps identifying if a certain test should run on that board or
not. For example, we can specify the available RAM in the board and
filter tests that would require more RAM than the board can handle.

- Boards can be set as default for testing meaning that we always run a
test case (build and run of possible) when sanitycheck is called without
any arguments. Previously this was done only by selecting the first
board defined for a specific architecture.

- Tests can be configured to run on all possible boards, this is to make
sure we always build some basic tests for all boards to catch issues
with the core kernel features.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2017-04-04 18:47:49 -04:00 committed by Anas Nashif
commit a792a3d410
9 changed files with 207 additions and 229 deletions

View file

@ -1,4 +0,0 @@
[arch]
name = arc
platforms = arduino_101_sss quark_se_c1000_ss_devboard em_starterkit panther_ss
supported_toolchains = issm zephyr

View file

@ -1,17 +0,0 @@
[arch]
name = arm
platforms = qemu_cortex_m3 frdm_k64f arduino_due nucleo_f103rb stm32_mini_a15
olimexino_stm32 96b_nitrogen nrf52_pca10040 hexiwear_k64
nrf51_pca10028 nucleo_f401re 96b_carbon nrf51_blenano
arduino_101_ble cc3200_launchxl quark_se_c1000_ble bbc_microbit
v2m_beetle nucleo_l476rg nrf52840_pca10056 nucleo_f411re
stm3210c_eval nucleo_f334r8 stm32373c_eval mps2_an385 frdm_kw41z
sam_e70_xplained curie_ble nrf52_blenano2 hexiwear_kw40z
cc3220sf_launchxl frdm_kl25z disco_l475_iot1 nucleo_l432kc
nucleo_f413zh stm32l496g_disco stm32f4_disco 96b_carbon_nrf51
stm32f469i_disco nucleo_f412zg sam4s_xplained olimex_stm32_e407
supported_toolchains = zephyr gccarmemb
[qemu_cortex_m3]
qemu_support = true

View file

@ -1,7 +0,0 @@
[arch]
name = nios2
platforms = qemu_nios2 altera_max10
supported_toolchains = zephyr
[qemu_nios2]
qemu_support = true

View file

@ -1,8 +0,0 @@
[arch]
name = riscv32
platforms = qemu_riscv32 zedboard_pulpino
supported_toolchains = zephyr
[qemu_riscv32]
qemu_support = true

View file

@ -1,7 +0,0 @@
[arch]
name = unit
platforms = unit_testing
supported_toolchains = zephyr
[unit_testing]
qemu_support = false

View file

@ -1,20 +0,0 @@
[arch]
name = x86
platforms = qemu_x86_iamcu arduino_101 qemu_x86 minnowboard galileo quark_d2000_crb quark_se_c1000_devboard
tinytile panther arduino_101_mcuboot
supported_toolchains = zephyr
[qemu_x86]
qemu_support = true
[qemu_x86_iamcu]
qemu_support = true
[quark_d2000_crb]
supported_toolchains = issm zephyr
[arduino_101]
supported_toolchains = issm zephyr
[quark_se_c1000_devboard]
supported_toolchains = issm zephyr

View file

@ -1,33 +0,0 @@
[arch]
name = xtensa
platforms = qemu_xtensa xt-sim xt-sim_XRC_FUSION_AON_ALL_LM
xt-sim_hifi2_std xt-sim_hifi3_bd5 xt-sim_D_233L
xt-sim_D_212GP xt-sim_D_108mini
supported_toolchains = xcc
[qemu_xtensa]
qemu_support = true
supported_toolchains = zephyr
[xt-sim]
qemu_support = true
[xt-sim_XRC_FUSION_AON_ALL_LM]
qemu_support = true
[xt-sim_hifi2_std]
qemu_support = true
[xt-sim_hifi3_bd5]
qemu_support = true
[xt-sim_D_233L]
qemu_support = true
[xt-sim_D_212GP]
qemu_support = true
[xt-sim_D_108mini]
qemu_support = true