원클릭으로
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 |