sanitycheck: add extra_configs for testing with multiple values

Support new keywords in testcase.yaml that would allow us to inject
configuration options to be merged with default configuration instead of
having to provide a prj.conf for each variant of the test which is very
difficult to keep in sync.  Sanitycheck script will create an overlay
file that is merged during the build process.

This is now done using the extra_configs option which is a yaml list of
option with the values, for example:

 extra_configs:
   - CONFIG_XXXX=y
   - CONFIG_YYYY=y

With this option we can have multiple tests that for example run on
hardware with different values. This type of testing is good on HW but
it does not make sense to be built in normal sanitycheck operation
because it will be just rebuilding the same code with different values.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
This commit is contained in:
Anas Nashif 2017-10-04 16:14:27 -04:00 committed by Anas Nashif
commit fa695d2b9e
2 changed files with 124 additions and 17 deletions

View file

@ -10,6 +10,67 @@
#
type: map
mapping:
"common":
type: map
required: no
mapping:
"arch_exclude":
type: str
required: no
"arch_whitelist":
type: str
required: no
"build_only":
type: bool
required: no
"build_on_all":
type: bool
required: no
"depends_on":
type: str
required: no
"extra_args":
type: str
required: no
"extra_sections":
type: str
required: no
"filter":
type: str
required: no
"min_ram":
type: int
required: no
"min_flash":
type: int
required: no
"platform_exclude":
type: str
required: no
"platform_whitelist":
type: str
required: no
"tags":
type: str
required: yes
"timeout":
type: int
required: no
"toolchain_exclude":
type: str
required: no
"toolchain_whitelist":
type: str
required: no
"type":
type: str
enum: [ 'unit' ]
"skip":
type: bool
required: no
"slow":
type: bool
required: no
# The sample descriptor, if present
"sample":
type: map
@ -61,6 +122,11 @@ mapping:
"extra_args":
type: str
required: no
"extra_configs":
type: seq
required: no
sequence:
- type: str
"extra_sections":
type: str
required: no
@ -81,7 +147,7 @@ mapping:
required: no
"tags":
type: str
required: yes
required: no
"timeout":
type: int
required: no