1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-29 16:30:56 -05:00
denoland-deno/tests/specs/schema.json

138 lines
3 KiB
JSON

{
"$id": "https://github.com/denoland/deno/blob/tests/specs/schema.json",
"$schema": "http://json-schema.org/draft-07/schema",
"description": "Schema file for the __test__.jsonc files",
"required": [],
"title": "Deno internal spec test schema",
"type": "object",
"definitions": {
"single_test": {
"type": "object",
"required": ["args", "output"],
"properties": {
"args": {
"default": "",
"oneOf": [{
"type": "string"
}, {
"type": "array",
"items": {
"type": "string"
}
}]
},
"cwd": {
"type": "string"
},
"commandName": {
"type": "string"
},
"envs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"flaky": {
"type": "boolean"
},
"if": {
"type": "string",
"examples": [
"mac",
"linux",
"windows",
"unix"
]
},
"output": {
"type": "string"
},
"exitCode": {
"type": "integer"
}
}
},
"single_or_multi_step_test": {
"oneOf": [{
"required": ["steps"],
"properties": {
"tempDir": {
"type": "boolean"
},
"base": {
"type": "string"
},
"envs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repeat": {
"type": "number"
},
"steps": {
"type": "array",
"items": {
"$ref": "#/definitions/single_test"
}
}
}
}, {
"allOf": [{
"properties": {
"tempDir": {
"type": "boolean"
},
"base": {
"type": "string"
},
"envs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repeat": {
"type": "number"
}
}
}, {
"$ref": "#/definitions/single_test"
}]
}]
},
"multi_test": {
"required": ["tests"],
"properties": {
"tempDir": {
"type": "boolean"
},
"base": {
"type": "string"
},
"envs": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"repeat": {
"type": "number"
},
"tests": {
"type": "object",
"additionalProperties": {
"$ref": "#/definitions/single_or_multi_step_test"
}
}
}
}
},
"oneOf": [{
"$ref": "#/definitions/single_or_multi_step_test"
}, {
"$ref": "#/definitions/multi_test"
}]
}