一键导入
run-tests
Run C++ and Python tests
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run C++ and Python tests
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Build and test the libuipc project using XMake. Use when building with xmake, running xmake f / xmake build / xmake run commands, selecting release/releasedbg/debug modes, or running Catch2 tests produced by xmake.
Build and test the libuipc project using CMake. Use when building the project, running cmake configure/build commands, compiling with RelWithDebInfo, running Catch2 tests, or when the user asks how to build or test libuipc.
General simulation development best practices for correctness, stability, and debuggability. Use when implementing or modifying simulation systems, solvers, constraints, or GPU kernels, especially for index safety, NaN/Inf issues, and diagnostics.
Review a libuipc pull request end-to-end: checkout the PR, summarize changes, list files for the human reviewer, and perform a domain-aware AI review covering physics correctness, backend architecture, C++ style, GPU code, and Python bindings. Optionally post review comments via `gh`. Use when the user provides a PR number, asks to review a PR, or wants to inspect a libuipc GitHub PR.
Push a version tag and optionally create a GitHub release
Conventional commit message format and rules for this project
| name | run-tests |
| description | Run C++ and Python tests |
| disable-model-invocation | true |
Run C++ tests built with Catch2. Test sources are in apps/tests/, grouped by feature area.
Build the project first using the build command. Test binaries are output to <cmake-binary-directory>/<configuration>/bin/.
cd <cmake-binary-directory>/<configuration>/bin
./uipc_test_<name>
Test binary names follow the pattern uipc_test_<name> where <name> matches the CMake target name in apps/tests/. On Windows, the executable will have an .exe extension.
./uipc_test_<name> "<test-case-name>"
Catch2 tags are used to group tests (e.g., [geometry], [core]):
./uipc_test_<name> '[geometry]'
./uipc_test_<name> --log-level <level>
Levels: trace, debug, info, warn, error, critical, off.
./uipc_test_<name> --list-tests
Python tests live under python/tests/. Run them with the project venv after installing pyuipc (e.g. uv pip install -e . or a CMake build that installs into the venv).
To avoid uv re-syncing (and rebuilding) the project every time, use --no-sync:
uv run --no-sync pytest python/tests
Or run pytest from the venv directly:
.venv/bin/pytest python/tests
Without --no-sync, uv run syncs the environment first, which (re)builds and installs pyuipc from source.
| Directory | Area |
|---|---|
apps/tests/geometry/ | Geometry algorithms |
apps/tests/core/ | Core engine |
apps/tests/common/ | Common utilities |
apps/tests/backends/ | Backend tests |
apps/tests/sim_case/ | Simulation cases |
apps/tests/sanity_check/ | Sanity checks |