#
# 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
  "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
