-
Notifications
You must be signed in to change notification settings - Fork 94
Description
Problem
The Second Life viewer currently uses the tut unit test framework, which is no longer maintained. As a result, we face several issues:
- Diminishing community support and updates
- Limited features and poor failure diagnostics
- We need to maintain our forked and modified version of tut
Replacing tut with a more modern and maintained framework will improve testability, developer experience, and long-term maintainability.
Solution
Replace tut with doctest, a lightweight, single-header C++ testing framework that offers clearer output, and a more modern and flexible approach to writing and organizing tests.
Migration plan
- Remove the
tutdependency from the viewer build. - Add the doctest header to the viewer repository (as it is header-only).
- Port all existing
tuttests todoctest. - Ensure tests are discoverable and executable via
ctest. - Document the new test framework and example usage for contributor onboarding.
- Ensure CI/CD passes and is correctly integrated with tests
Alternatives considered
- GoogleTest: Heavier and slower to compile; requires linking and additional setup
- Catch2: Similar to doctest but slightly heavier and not header-only in newer versions
Reward
Please follow our reward guidelines if you would like to be compensated for completing this task.
This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting
/reward 100 (replace 100 with the amount).🕵️♂️ If someone starts working on this issue to earn the rewards, they can comment
/try to let everyone know!🙌 And when they open the PR, they can comment
/claim #4445 either in the PR description or in a PR's comment.🪙 Also, everyone can tip any user commenting
/tip 20 @bennettgoble (replace 20 with the amount, and @bennettgoble with the user to tip).📖 If you want to learn more, check out our documentation.