-
Notifications
You must be signed in to change notification settings - Fork 0
Use Catch2v3 for the unit test suite #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This moves from the old header-only Catch2 version 2.x included in GUL14 to the newer 3.x family of the unit test framework. Accordingly, the header files that need to be included change. Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
[why] This way we can avoid having to install it for CI runs. Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
aeb674c to
efacfe8
Compare
[why] We need modern support for wrap files without explicitly requesting a fallback in the meson.build. So why not go to an up-to-date version? Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
|
This currently builds all of Catch2v3 in the CI runs. Once we drop Ubuntu 20.04, we can just pre-install the |
Finii
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
debian/control has no Build-Depends on Catch2v3.
[why] We now require Catch2 v3 from an external package for building the unit test suite. Proposed-by: Fini Jastrow <fini.jastrow@desy.de> Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
Good point, added. |
[why] The precompiled library form of the Catch2 framework that we use was introduced in Catch2 3.4.0-1 or something like that. Proposed-by: Fini Jastrow <ulf.fini.jastrow@desy.de> Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
|
Sorry this seems all so complicated, but I believe it is good to get this right at one place before we reuse our 'pattern' throughout doocs. |
This changes the build-depends clause from "catch2 (>>3.4.0)" to
"catch2 (>=3.4.0) | libcatch2". Rationale (Fini):
"
Hmm, we have a problem here, out there is just this one package that
is an in-between one:
3.4.0-1build1: Only on Ubuntu, and there on 24.04 and 24.10.
The header only catch2 packages were called catch2
The library v3 version is destined to be called libcatch2
There is a transitional package transmogrifying catch2 to libcatch2
On Ubuntu systems after 24.10 it is possible to install libcatch2 and
not have catch2 installed.
On Debian we do not have this break, and Catch2v3 is always available
as libcatch2.
"
Co-authored-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I guess this is good to go.
The one comment has no practical impact I believe, because we have
... we have version 3.4.0-blahfasel which is of course > than 3.4.0 ;-)
[why] To bring the requirement in sync with the one listed in the Debian control file. Proposed-by: Fini Jastrow <ulf.fini.jastrow@desy.de> Signed-off-by: Lars Froehlich <lars.froehlich@desy.de>
This moves from the old header-only Catch2 version 2.x included in GUL14 to the newer 3.x family of the unit test framework. Accordingly, the header files that need to be included change.