用途:在已运行的 isaaclab_arena Docker 容器内运行 Isaac Lab-Arena 的 pytest 测试套件。无参数时按顺序执行全部三个阶段;三个阶段通过不同的 pytest marker 过滤选取互斥的测试集,必须分别调用,前一阶段全部通过后才进入下一阶段。
主要能力:phase1 仅运行无摄像头、无子进程的测试(最快,适合迭代不涉及渲染或子进程路径的改动);phase2 仅运行 with_cameras;phase3 仅运行 with_subprocess。也可单独运行某个测试文件或测试函数。
使用方式:所有命令通过 docker exec 在已运行的容器内执行。宿主机上每个仓库克隆对应各自容器,会话开始时先解析挂载当前克隆的容器到 ARENA_CONTAINER(为空表示无运行中的容器,需先使用 dev-container 技能): ARENA_CONTAINER=$(docker ps --filter "volume=$(git rev-parse --show-toplevel)" --format '{{.Names}}' | head -1) 阶段命令示例: docker exec "$ARENA_CONTAINER" su $(id -un) -c "cd /workspaces/isaaclab_arena && /isaac-sim/python.sh -m pytest -sv -m 'not with_cameras and not with_subprocess' isaaclab_arena/tests" 其他阶段将 marker 分别改为 'with_cameras and not with_subprocess' 和 'with_subprocess'。单文件/单函数: docker exec "$ARENA_CONTAINER" su $(id -un) -c "cd /workspaces/isaaclab_arena && /isaac-sim/python.sh -m pytest isaaclab_arena/tests/test_asset_registry.py" 在测试文件后加 ::测试函数名 可运行单个函数。需在同一 shell 中执行以保持 $ARENA_CONTAINER。
失败处理:报告失败的阶段和首个失败的测试(文件、函数、一行错误),停止,不得在未调查前运行后续阶段;若失败疑似与近期改动无关,可单独运行同一测试确认。三个阶段均无失败或错误才算全绿。
限制:依赖已运行的 isaaclab_arena Docker 容器;无容器时需先用 dev-container 技能。资料未提供其他限制、平台或配置说明。