Run NDSCPP Tests
SkillDev toolsThis skill should be used when the user asks to "run the tests", "build and test", "run ndscpp tests", "execute the test suite", "check if tests pass", or wants to verify that the application builds correctly and the test suite passes. Handles dependency verification, building ndscpp and the test suite, running the server in the background, and executing the tests.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Run NDSCPP Tests skill
What this skill tells your AI
The instructions your AI receives, as published by plummerssoftwarellc/ndscpp in .claude/skills/run-tests/SKILL.md and read by ahel’s review.
Build the application, start it in the background, run the full test suite, and report the outcome.
Process
1. Verify dependencies
Run the dependency check script from the project root:
bash .claude/skills/run-tests/scripts/check-deps.sh
If any dependencies are missing, the script prints exactly what to install and exits non-zero. Stop and show the user the output — do not proceed until dependencies are satisfied.
2. Build the main application
make
If the build fails, show the compiler errors and stop.
3. Build the test suite
make -C tests
If this fails, show the errors and stop.
4. Start ndscpp in the background
./ndscpp &
NDSCPP_PID=$!
Wait up to 5 seconds for the server to become ready by polling its health endpoint:
for i in $(seq 1 10); do
curl -sf http://localhost:7777/api/controller >/dev/null 2>&1 && break
sleep 0.5
done
If the server hasn't responded after 5 seconds, kill the process, show its output, and stop.
5. Run the tests
On Linux:
LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/local/lib" ./tests/tests
TEST_EXIT=$?
On macOS:
./tests/tests
TEST_EXIT=$?
6. Stop the server
kill $NDSCPP_PID 2>/dev/null
wait $NDSCPP_PID 2>/dev/null
Always kill the server, even if the tests failed.
7. Report
Exit with $TEST_EXIT. Report pass/fail and any failing test names from the GoogleTest output.
Notes
- The default server port is
7777. If the config file specifies a different port, adjust the health-check URL accordingly. config.ledandsecrets.hare auto-created from their.examplecounterparts on the firstmakerun — this is expected and not an error.- On Ubuntu,
cprhas no apt package and must be built from source (the dependency check script explains how). Once installed, its shared library is at/usr/local/lib/libcpr.so, which is whyLD_LIBRARY_PATHmust include/usr/local/lib. - To run a single test: append
--gtest_filter=SuiteName.TestNameto the test binary invocation.
Signals
- GitHub stars
- 55
- Forks
- 6
- Last commit
- Jul 2026
Advanced
- Catalog kind
- skill
- Gateway key
run-tests-plummerssoftwarellc- Source
- github.com/plummerssoftwarellc/ndscpp