1#
2# Schema to validate a YAML file describing a Zephyr test platform
3#
4# We load this with pykwalify
5# (http://pykwalify.readthedocs.io/en/unstable/validation-rules.html),
6# a YAML structure validator, to validate the YAML files that describe
7# Zephyr test platforms
8#
9# The original spec comes from Zephyr's twister script
10#
11
12type: map
13mapping:
14  "identifier":
15    type: str
16  "maintainers":
17    type: seq
18    seq:
19      - type: str
20  "name":
21    type: str
22  "type":
23    type: str
24    enum: ["mcu", "qemu", "sim", "unit", "native"]
25  "simulation":
26    type: str
27    enum:
28      [
29        "qemu",
30        "simics",
31        "xt-sim",
32        "renode",
33        "nsim",
34        "mdb-nsim",
35        "tsim",
36        "armfvp",
37        "native",
38        "custom",
39      ]
40  "simulation_exec":
41    type: str
42  "arch":
43    type: str
44  "vendor":
45    type: str
46  "tier":
47    type: int
48  "toolchain":
49    type: seq
50    seq:
51      - type: str
52  "env":
53    type: seq
54    seq:
55      - type: str
56  "ram":
57    type: int
58  "flash":
59    type: int
60  "twister":
61    type: bool
62  "supported":
63    type: seq
64    seq:
65      - type: str
66  "testing":
67    type: map
68    mapping:
69      "timeout_multiplier":
70        type: number
71        required: false
72      "default":
73        type: bool
74      "binaries":
75        type: seq
76        seq:
77          - type: str
78      "only_tags":
79        type: seq
80        seq:
81          - type: str
82      "ignore_tags":
83        type: seq
84        seq:
85          - type: str
86