# 如何运行测试(reviewer 速查) 所有命令从仓库根(`agent_swarm_v6/`)执行。**先装依赖**(`fakeredis` 等都在 requirements 里—— 缺它会导致 `REDIS_FAKE` 用例跑不到断言): ```bash pip install -r orchestrator/requirements.txt -r agent/requirements.txt ``` 测试是 hermetic 的:内存存储(`REDIS_FAKE=1`),planner 离线,**不需要模型 key**。 ## 全套(与 CI `tests` job 完全一致) ```bash # 契约 / 工作流 REDIS_FAKE=1 python scripts/test-runtime-contract.py REDIS_FAKE=1 python scripts/test-merge-smoke.py REDIS_FAKE=1 python scripts/test-workflow-e2e.py REDIS_FAKE=1 python scripts/test-contract-events.py # benchmark 公式 / 采集 / 基线 REDIS_FAKE=1 python scripts/test-benchmark-metrics.py REDIS_FAKE=1 python scripts/test-benchmark-collector.py REDIS_FAKE=1 python scripts/test-baseline-comparison.py # 代码沙箱(fail-closed 隔离 + 真实执行);脚本自行设置 HEICODE_SANDBOX_ISOLATED python scripts/test-sandbox.py # 质量插桩 Group B(脚本自行设置 REDIS_FAKE/ENABLE_QUALITY_EVAL/HEICODE_SANDBOX_ISOLATED) python scripts/test-quality.py # ACO 决策引擎 Group A(含可回放 DecisionTrace) REDIS_FAKE=1 python scripts/test-decision-engine.py # 同一 e2e,但走概率 ACO 派发(seed 固定,确定性) REDIS_FAKE=1 ENABLE_ACO_DISPATCH=1 ACO_SEED=42 python scripts/test-workflow-e2e.py ``` ## 安全说明:代码执行门控 `test-sandbox.py` / `test-quality.py` 会**执行生成代码**,因此需要 fail-closed 的隔离确认 `HEICODE_SANDBOX_ISOLATED=1`。这两个脚本**自行设置**该变量(并先断言未设置时硬失败),所以你直接 `python scripts/test-*.py` 即可;**不要**在非隔离环境对真实 orchestrator 设置该变量。详见 `docs/integration/security-boundary.md §8.1`。 > 约定:本仓任何新增/修改测试,都应在此文件与 PR 描述里给出可直接复制运行的命令(含依赖安装)。