Skip to content
Back to skills

Run Tests

ASecurity

Compile and run the PhoenixSketch unit tests under code/test using CMake + Google Test. Use when the user asks to run, build, or check the unit tests / ctest / Google Test suite for the radio firmware.

  • 14 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 10, 2026
developmentgobash

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add KI3P/Phoenix --skill run-tests --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Run Tests?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Run Tests
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ki3p-run-tests/badge)](https://www.skillsdirectory.com/skills/ki3p-run-tests)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: run-tests
description: Compile and run the PhoenixSketch unit tests under code/test using CMake + Google Test. Use when the user asks to run, build, or check the unit tests / ctest / Google Test suite for the radio firmware.
---

# run-tests

Builds and runs the host-side unit tests in `code/test/` using CMake and `ctest`. The tests use mocked Arduino/hardware interfaces and run on the development machine — they do **not** touch the Teensy.

| Setting | Value |
| --- | --- |
| Source dir | `code/test/` |
| Build dir | `code/test/build/` |
| Test runner | `ctest` (Google Test discovered via CMake) |

## Steps

1. **Ensure the build directory exists.** If `code/test/build/` is missing, create it. If the user passed `clean`, remove it first and recreate.
   ```bash
   mkdir -p code/test/build
   ```

2. **Configure (if needed).** From `code/test/build/`, run cmake. CMake re-configures itself on subsequent runs as needed, so it's safe to run unconditionally:
   ```bash
   cmake ..
   ```

3. **Build.** From `code/test/build/`:
   ```bash
   make
   ```
   Builds can take a while on a clean tree; use a generous Bash timeout (e.g. 600000 ms). If the build fails, surface the first error and stop — do not run tests on a broken build.

4. **Run tests.** From `code/test/build/`:
   ```bash
   ctest --output-on-failure
   ```
   Add `-R <pattern>` if the user passed a filter arg, and `-V` if they passed `verbose`.

5. **Report.** Summarise in 1–2 lines: how many tests passed/failed, and the names of any failing tests. If a specific filter was used, mention what it matched.

## Args

- `clean` — wipe `code/test/build/` and reconfigure from scratch before building. Use when CMake state seems stale or the user explicitly asks for a clean build.
- `verbose` — pass `-V` to ctest so individual test output is shown even on success.
- *Any other arg* — treat as a ctest `-R` regex filter (e.g. `RFBoard` runs `ctest -R RFBoard --output-on-failure`). Multiple words can be combined into one regex with `|`.

`clean` and `verbose` may be combined with a filter arg.

## Notes

- Always run from `code/test/build/` once it exists — relative paths in `CMakeLists.txt` assume that.
- This skill is for host unit tests only. To build/flash the firmware itself, use the `flash-radio` skill instead.
- The CMake test build lives under `code/test/build/`; the firmware build artifacts (`code/build/`, `ArduinoOutput/`) are unrelated and should not be touched here.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.