MapGuide RFC 180 - Migrate from CppUnit to Catch2
This page contains a change request (RFC) for the MapGuide Open Source project. More MapGuide RFCs can be found on the RFCs page.
|RFC Template Version||(1.0)|
|Submission Date||15 Jul 2020|
|Last Modified||29 Jul 2020|
|Assigned PSC guide(s)||(when determined)|
|Voting History||(vote date)|
This RFC proposes to replace CppUnit with Catch2 for our unit testing purposes.
Catch2 is a header-only unit testing library that has a simpler installation and consumption story.
Being header-only means we don't have to build and link to this library unlike CppUnit. Just
#include the single
catch.hpp header file and you can get started writing tests. This means one less external library we have to build.
Also being header-only means that we can easily integrate it into areas/projects within the Server and Web tiers sorely lacking in test coverage right now, such as the mapagent http handler.
The simplicity of writing tests under Catch2 should encourage more tests to be written.
Add Catch2 header to Oem
Remove CppUnit sources from Oem
The current test suite must still pass after migration to Catch2
Funding / Resources