sots-re/verify/tooling/fixtures.py

17 lines
1.4 KiB
Python

"""Small independently constructed gate records for validator-boundary tests."""
def passed_gate(binary, digest):
corpus = ["mars_stream_save", "mars_stream_domains", "app_turn", "app_turn_record"]
checks = ["sourceCopy", "cleanRoom", "shimConfigs", "configure", "build", "inventory", "ctest",
"junitComplete", "outputComplete", "testStatuses", "skipClassification", "corpusExecution", "corpusNonzero",
"sourceUnchanged", "toolSourceUnchanged", "corpusUnchanged", "inputsUnchanged", "binaryExists"]
return {"schema": "sots-gate/1", "status": "passed", "profile": "host",
"binary": {"path": str(binary), "sha256": digest},
"source": {name: {"path": "/source/" + name, "head": "a" * 40, "dirty": True,
"files": [{"path": "source.cpp", "sha256": "b" * 64}]}
for name in ("engine", "re")},
"inputs": {"SOTS_SAVES_DIR": {"root": "/corpus", "kind": "directory",
"files": [{"path": "sample.sav", "sha256": "c" * 64}]}},
"tests": {"expected": corpus + ["assets"], "passed": corpus, "skipped": ["assets"],
"failed": [], "corpusSummaryCounts": {name: [1] for name in corpus}},
"requiredChecks": checks, "checks": {name: True for name in checks},
"limitations": ["host only; assets skipped"], "tools": {"python": {"returncode": 0}}}