chizy7 / chizy7/PinnacleMM

CI runs only 6 of 23 registered tests, switch to ctest

Open Beginner friendly
#77 0 comments 0 reactions 0 assignees View on GitHub
ci enhancement testing
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.