28 lines
1.1 KiB
JSON
28 lines
1.1 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "linuxcnc-web-wasm/native-golden.v1",
|
|
"title": "LinuxCNC Web/WASM native runner golden",
|
|
"type": "object",
|
|
"required": ["schema", "context_id", "test_source_id", "expected"],
|
|
"properties": {
|
|
"schema": {"const": "native-golden.v1"},
|
|
"context_id": {"type": "string", "minLength": 1},
|
|
"test_source_id": {"type": "string", "minLength": 1},
|
|
"command_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"expected": {
|
|
"type": "object",
|
|
"description": "Exact canonical result fields. Missing golden fields never pass.",
|
|
"properties": {
|
|
"status": {"enum": ["passed", "failed", "timeout"]},
|
|
"exit_code": {"type": "integer"},
|
|
"stdout_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"stderr_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"},
|
|
"result_sha256": {"type": "string", "pattern": "^[0-9a-f]{64}$"}
|
|
},
|
|
"additionalProperties": true
|
|
},
|
|
"tolerances": {"type": "object", "additionalProperties": {"type": "number", "minimum": 0}}
|
|
},
|
|
"additionalProperties": false
|
|
}
|