Something went wrong. Try again.
An adversarial testing framework for OCaml HTTP/1.1 clients and servers
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://github.com/avsm/httnope/schema/execution.schema.json", "title": "httnope execution report", "type": "object", "required": [ "schema", "client", "command", "base_url", "corpus_version", "duration_ms", "process", "stderr_hex", "summary", "failures", "missing_cases", "invalid_observations" ], "properties": { "schema": { "const": "httnope-execution-v1" }, "client": { "type": "string" }, "command": { "type": "array", "items": { "type": "string" } }, "base_url": { "type": "string" }, "corpus_version": { "type": "string" }, "selected_tags": { "type": "array", "items": { "type": "string", "minLength": 1 }, "uniqueItems": true }, "duration_ms": { "type": "number", "minimum": 0 }, "process": { "$ref": "#/$defs/process" }, "stderr_hex": { "$ref": "#/$defs/hex" }, "summary": { "$ref": "#/$defs/summary" }, "failures": { "type": "array", "items": { "$ref": "#/$defs/failure" } }, "missing_cases": { "type": "array", "items": { "$ref": "#/$defs/case" } }, "invalid_observations": { "type": "array", "items": { "$ref": "#/$defs/invalid" } } }, "$defs": { "hex": { "type": "string", "pattern": "^(?:[0-9a-fA-F]{2})*$" }, "process": { "type": "object", "required": ["kind"], "properties": { "kind": { "enum": ["exited", "signaled", "timed_out", "spawn_error"] }, "code": { "type": "integer" }, "message": { "type": "string" } }, "additionalProperties": false }, "summary": { "type": "object", "required": [ "case_count", "observed", "passed", "failed", "missing", "invalid", "crashes" ], "properties": { "case_count": { "type": "integer", "minimum": 0 }, "observed": { "type": "integer", "minimum": 0 }, "passed": { "type": "integer", "minimum": 0 }, "failed": { "type": "integer", "minimum": 0 }, "missing": { "type": "integer", "minimum": 0 }, "invalid": { "type": "integer", "minimum": 0 }, "crashes": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, "case": { "type": "object", "required": [ "case_id", "title", "requirement", "tags", "references", "rationale" ], "properties": { "case_id": { "type": "string" }, "title": { "type": "string" }, "requirement": { "enum": ["must", "should", "may", "limit"] }, "tags": { "type": "array", "items": { "type": "string" } }, "references": { "type": "array", "items": { "$ref": "provenance.schema.json" } }, "rationale": { "type": "string" } }, "additionalProperties": false }, "failure": { "type": "object", "required": ["case", "reason", "observation"], "properties": { "case": { "$ref": "#/$defs/case" }, "reason": { "type": "string" }, "observation": { "$ref": "observation.schema.json" } }, "additionalProperties": false }, "invalid": { "type": "object", "required": ["error", "input_hex"], "properties": { "line": { "type": "integer", "minimum": 1 }, "case_id": { "type": "string" }, "error": { "type": "string" }, "input_hex": { "$ref": "#/$defs/hex" } }, "additionalProperties": false } }, "additionalProperties": false}