#
# 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"]
  "arch":
    type: str
  "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
      "only_tags":
        type: seq
        seq:
          -
            type: str
      "ignore_tags":
        type: seq
        seq:
          - type: str
