zephyr/scripts/schemas/twister/platform-schema.yaml

110 lines
1.8 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 twister script
#
type: map
mapping:
"identifier":
type: str
"maintainers":
type: seq
seq:
- type: str
"name":
type: str
"type":
type: str
enum: ["mcu", "qemu", "sim", "unit", "native"]
"simulation":
type: str
enum:
[
"qemu",
"simics",
"xt-sim",
"renode",
"nsim",
"mdb-nsim",
"tsim",
"armfvp",
"native",
"custom",
]
"simulation_exec":
type: str
"arch":
type: str
enum:
[
# architectures
"arc",
"arm",
"arm64",
"mips",
"nios2",
"posix",
"riscv",
"sparc",
"x86",
"xtensa",
# unit testing
"unit",
]
"vendor":
type: str
"tier":
type: int
"toolchain":
type: seq
seq:
- type: str
"env":
type: seq
seq:
- type: str
"ram":
type: int
"flash":
type: int
"twister":
type: bool
"supported":
type: seq
seq:
- type: str
"testing":
type: map
mapping:
"timeout_multiplier":
type: number
required: false
"default":
type: bool
"binaries":
type: seq
seq:
- type: str
"only_tags":
type: seq
seq:
- type: str
"ignore_tags":
type: seq
seq:
- type: str
"renode":
type: map
mapping:
"uart":
type: str
"resc":
type: str