testbed: bridge with world tools (proprioception, vision, depth, hear, world_query, move, turn, look_at, interact) + conformance tools; 9/9 scenarios green
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
"""Run the AICC conformance scenarios against the testbed bridge.
|
||||
|
||||
Usage:
|
||||
python -m testbed.conformance <scenarios-dir>
|
||||
|
||||
The same bridge used by the server and demo is exercised here, so a green
|
||||
suite proves the shipped bridge is protocol-conformant.
|
||||
|
||||
Exit code 0 when all scenarios pass, 1 otherwise.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
from aicc.conformance import run_scenarios, summarize
|
||||
|
||||
from testbed.bridge import build_bridge
|
||||
|
||||
|
||||
def main() -> int:
|
||||
if len(sys.argv) < 2:
|
||||
print("usage: python -m testbed.conformance <scenarios-dir>")
|
||||
return 2
|
||||
scenario_dir = Path(sys.argv[1]).resolve()
|
||||
bridge = build_bridge()
|
||||
results = asyncio.run(run_scenarios(bridge, scenario_dir))
|
||||
print(summarize(results))
|
||||
return 0 if all(r.passed for r in results) else 1
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(main())
|
||||
Reference in New Issue
Block a user