test(cpp): ✅ migrate unit tests to Catch2 - #264
Conversation
Replace Boost.Test with Catch2 v3 while preserving per-case CTest discovery and lockstep whole-suite MPI runs. Update dependency provisioning and testing documentation accordingly. Assisted-by: GitHubCopilot:GitHub Copilot
|
Docs preview: https://pr-264.monoprop-docs.pages.dev |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #264 +/- ##
=======================================
Coverage 97.70% 97.70%
=======================================
Files 14 14
Lines 742 742
Branches 98 98
=======================================
Hits 725 725
Misses 12 12
Partials 5 5
Flags with carried forward coverage won't be shown. Click here to find out more. |
|
It doesn't seem that using Catch2 vs Boost.Test makes that much of a difference in compile times. I believe this is a necessary evil due to templating in the library. I will try to compile the unit tests themselves as |
reduces compilation times
|
Going to down to TBH, I would merge this one. Catch2 is less bloated than Boost.Test as a unit test framework and I found its documentation more readable. Up to the reviewer. |
Signed-off-by: Roberto Di Remigio Eikås <robertodr@users.noreply.github.com>
|



Since the unification of Python binding and C++ test compilation #152, the build times of the test step have increased. This is an experiment to check what's the impact of our unit test framework on compilation times in CI.
🤖 AI text below 🤖
Summary
Replace Boost.Test with Catch2 v3 for the C++ unit suite while preserving per-case CTest discovery and lockstep whole-suite MPI execution. This removes the Boost.Test binary dependency without removing Boost production utilities.
Changes
Testing
TermIndexconfiguration: 618 Python tests and 209 C++ tests passed, with 2 expected skips.npmis unavailable in the development container.Checklist
docs/,CONTRIBUTING.md) if neededCHANGELOG/ release notes updated if applicable (not applicable: test infrastructure only)AI/LLM disclosure
Important
By opening this PR I confirm that I have read CONTRIBUTING.md and I agree to the terms of the Contributor License Agreement.
Warning
If you're contributing on behalf of your employer, contact cla@algorithmiq.fi to arrange a Corporate CLA.