dart-test
GitHub用于DART项目的测试编写、调试与CI验证。提供Pixi命令执行单元/集成测试,指导GoogleTest规范,涵盖CUDA环境配置及常见陷阱排查,并在涉及仿真时联动dart-verify-skill进行端到端检查。
触发场景
安装
npx skills add dartsim/dart --skill dart-test -g -y
SKILL.md
Frontmatter
{
"name": "dart-test",
"description": "DART Test: unit tests, integration tests, CI validation, and debugging"
}
DART Testing
Load this skill when writing or debugging tests.
Quick Commands
pixi run test # Quick test run
pixi run test-all # Full validation
pixi run -e cuda test-all # CUDA-enabled full validation on Linux CUDA hosts
pixi run test-unit # Unit tests
pixi run test-py # Python tests
Full Documentation
For complete testing guide: docs/onboarding/testing.md
For CI/CD troubleshooting: docs/onboarding/ci-cd.md
Test Organization
- Unit tests:
tests/unit/ - Integration tests:
tests/integration/ - Regression tests: Near the code they test
Writing Tests
- Follow existing patterns in the test directory
- Use GoogleTest framework
- Name tests descriptively:
TEST(ClassName, MethodName_Condition_ExpectedResult)
CI Validation
Before submitting PR:
pixi run lint # Must pass
pixi run test-all # Must pass
pixi run -e cuda test-all # Must pass on Linux CUDA hosts
Debugging Test Failures
# Run the smallest existing Pixi test task that covers the failure
pixi run test-unit
# Get CI logs
gh run view <RUN_ID> --log-failed
Simulation And Visual End-to-End Checks
When a failure or change depends on scene structure, dynamics,
collision/contact, simulation stepping, GUI output, or a visual example, also
load dart-verify-sim. Use its text-first oracle and then an assessed headless
capture with claim-relevant debug layers. Record a concrete no-visual reason
only when that corroboration is unavailable or not applicable.
Gotchas
pixi run buildbuilds libraries only, NOT the unit-test binaries. If you runctestwithout building the test target first, you may execute stale binaries that silently pass. Build the test target before running its label, e.g. for the simulation suite:pixi run build-simulation-tests(targetdart_simulation_tests) beforectest -L simulation.pixi run test-allis the default-environment full gate. On Linux hosts with a visible NVIDIA CUDA runtime, also runpixi run -e cuda test-all; the CUDA run preserves thecudaPixi environment and executes the CUDA CTest + benchmark smoke path when the runtime is detected.- The CUDA Pixi config auto-detects visible GPU compute capabilities for
DART_CUDA_ARCHITECTURES; unsupported PTX/toolchain errors usually mean the generated CUDA architecture flags need to be checked before blaming test code.
版本历史
- b9fbefc 当前 2026-07-19 11:30


