CI runs only 6 of 23 registered tests, switch to ctest
- Dominant language
- C++
- Stars
- 14
- Forks
- 12
- Avg merge
- 1h 27m
- Merged PRs (30d)
- 3
Description
## Context
`CMakeLists.txt` registers 23 tests via `add_test` (risk manager, circuit breaker, VaR engine, alerts, disaster recovery, instrument manager, arbitrage detector, cross-market correlation, web server, and more). The `Run Unit Tests` step in `.github/workflows/ci.yml` hand-lists only 6 binaries (orderbook, lockfree orderbook, strategy, execution, fix_basic, routing). Everything else builds in CI but never runs, so a regression in the risk or multi-instrument suites would merge green.
## What to do
- Replace the hand-listed binaries with `ctest --test-dir build --output-on-failure`, so any test registered in CMake runs automatically.
- Keep the `JOURNAL_PATH` env var the current step sets.
- Confirm all 23 pass on both Ubuntu and macOS runners, and quarantine (with a linked issue) any that do not.
## Notes
This also means new tests (like `web_server_tests` from #72) get CI coverage the moment they are added, with no workflow edit.
Contributor guide
Research direction
Read CMakeLists.txt to see the registered tests, then inspect the `Run Unit Tests` step in .github/workflows/ci.yml and its current `JOURNAL_PATH` setting. Replace the hand-listed binaries with the requested ctest invocation and run the workflow on Ubuntu and macOS; done means all 23 registered tests pass, or any failures are quarantined with a linked issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, cpp, github-actions
- Domain
- ci-cd, testing
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 74/100