cf89e2883d
Add a new option as fixture in harness configurations for utilizing sanitycheck to identify test cases that require external hardware such as sensor, ble, networking for validation. The config will be added to yaml files with unique fixture name to identify each hardware and allow automation to trigger test execution on setup having the specific fixture enabled. Also, remove the default required for type and regex configs that is not essential in case of ztest based test cases. Signed-off-by: Praful Swarnakar <praful.swarnakar@intel.com>
214 lines
5.1 KiB
YAML
214 lines
5.1 KiB
YAML
#
|
|
# Schema to validate a YAML file describing a Zephyr test platform
|
|
#
|
|
# We load this with pykwalify
|
|
# (http://pykwalify.readthedocs.io/en/unstable/validation-rules.html),
|
|
# a YAML structure validator, to validate the YAML files that describe
|
|
# Zephyr test platforms
|
|
#
|
|
# The original spec comes from Zephyr's sanitycheck script
|
|
#
|
|
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
|
|
"harness":
|
|
type: str
|
|
required: no
|
|
"harness_config":
|
|
type: map
|
|
required: no
|
|
mapping:
|
|
"type":
|
|
type: str
|
|
required: no
|
|
"fixture":
|
|
type: str
|
|
required: no
|
|
"ordered":
|
|
type: bool
|
|
required: no
|
|
"repeat":
|
|
type: int
|
|
required: no
|
|
"regex":
|
|
type: seq
|
|
required: no
|
|
sequence:
|
|
- type: str
|
|
"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: no
|
|
"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
|
|
required: no
|
|
mapping:
|
|
"name":
|
|
type: str
|
|
required: yes
|
|
"description":
|
|
type: str
|
|
required: no
|
|
"platforms":
|
|
type: str
|
|
required: no
|
|
# The list of testcases -- IDK why this is a sequence of
|
|
# maps maps, shall just be a sequence of maps
|
|
# maybe it is just an artifact?
|
|
"tests":
|
|
type: map
|
|
matching-rule: "any"
|
|
mapping:
|
|
# The key for the testname is any, so
|
|
# regex;(([a-zA-Z0-9_]+)) for this to work, note below we
|
|
# make it required: no
|
|
regex;(([a-zA-Z0-9_]+)):
|
|
type: map
|
|
# has to be not-required, otherwise the parser gets
|
|
# confused and things it never found it
|
|
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_configs":
|
|
type: seq
|
|
required: no
|
|
sequence:
|
|
- type: str
|
|
"extra_sections":
|
|
type: str
|
|
required: no
|
|
"filter":
|
|
type: str
|
|
required: no
|
|
"harness":
|
|
type: str
|
|
required: no
|
|
"harness_config":
|
|
type: map
|
|
required: no
|
|
mapping:
|
|
"type":
|
|
type: str
|
|
required: no
|
|
"fixture":
|
|
type: str
|
|
required: no
|
|
"ordered":
|
|
type: bool
|
|
required: no
|
|
"repeat":
|
|
type: int
|
|
required: no
|
|
"regex":
|
|
type: seq
|
|
required: no
|
|
sequence:
|
|
- type: str
|
|
"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: no
|
|
"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
|