{ "$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" }] }