rollbear/trompeloeil

[Bug] Fails to run tests with catch 3.x

Closed this issue · 4 comments

Recently catch2 in debian was updated to the 3.x release track. Subsequently, this caused trompeloils tests to fail. Specifically,
the compiling_tests* files include catch2/catch.hpp .This was superseded by catch2/catch_all.hpp (see here . Patching this in compiles but leads to a failure when trying to execute the tests:

...
[100%] Linking CXX executable self_test
cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/test && /usr/bin/cmake -E cmake_link_script CMakeFiles/self_test.dir/link.txt --verbose=1
/usr/bin/c++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -Wextra -pedantic -Wshadow -Wconversion -Wnonnull -Werror -g -Wl,-z,relro -Wl,-z,now CMakeFiles/self_test.dir/compiling_tests.cpp.o CMakeFiles/self_test.dir/compiling_tests_11.cpp.o CMakeFiles/self_test.dir/compiling_tests_14.cpp.o -o self_test 
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/13/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x17): undefined reference to `main'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::TestInvokerAsMethod<(anonymous namespace)::CATCH2_INTERNAL_TEST_0>::~TestInvokerAsMethod()':
/usr/include/catch2/internal/catch_test_registry.hpp:32:(.text+0x10a3): undefined reference to `Catch::ITestInvoker::~ITestInvoker()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::TestInvokerAsMethod<(anonymous namespace)::CATCH2_INTERNAL_TEST_6>::~TestInvokerAsMethod()':
/usr/include/catch2/internal/catch_test_registry.hpp:32:(.text+0x10f3): undefined reference to `Catch::ITestInvoker::~ITestInvoker()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::TestInvokerAsMethod<(anonymous namespace)::CATCH2_INTERNAL_TEST_11>::~TestInvokerAsMethod()':
/usr/include/catch2/internal/catch_test_registry.hpp:32:(.text+0x1143): undefined reference to `Catch::ITestInvoker::~ITestInvoker()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::TestInvokerAsMethod<(anonymous namespace)::CATCH2_INTERNAL_TEST_15>::~TestInvokerAsMethod()':
/usr/include/catch2/internal/catch_test_registry.hpp:32:(.text+0x1193): undefined reference to `Catch::ITestInvoker::~ITestInvoker()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::TestInvokerAsMethod<(anonymous namespace)::CATCH2_INTERNAL_TEST_20>::~TestInvokerAsMethod()':
/usr/include/catch2/internal/catch_test_registry.hpp:32:(.text+0x11e3): undefined reference to `Catch::ITestInvoker::~ITestInvoker()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o:/usr/include/catch2/internal/catch_test_registry.hpp:32: more undefined references to `Catch::ITestInvoker::~ITestInvoker()' follow
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `void Catch::AssertionHandler::handleExpr<bool>(Catch::ExprLhs<bool> const&)':
/usr/include/catch2/internal/catch_assertion_handler.hpp:46:(.text+0x7159): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::UnaryExpr<bool>::~UnaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:149:(.text+0x7165): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_703::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4460:(.text+0x1a987): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4460:(.text+0x1aa0d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [19]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1aa1c): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_703::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4460:(.text+0x1aa47): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_701::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4446:(.text+0x1ab87): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4446:(.text+0x1ac0d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [23]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1ac1c): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_701::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4446:(.text+0x1ac47): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_699::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4436:(.text+0x1ad87): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4436:(.text+0x1ae0d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [16]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1ae1c): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_699::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4436:(.text+0x1ae47): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_697::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4426:(.text+0x1af6f): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4426:(.text+0x1aff5): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [8]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1b004): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_697::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4426:(.text+0x1b02f): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_675::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4245:(.text+0x1b15f): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4245:(.text+0x1b1e9): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [58]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1b1f8): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_675::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4245:(.text+0x1b22a): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_673::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4231:(.text+0x1b3c6): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4231:(.text+0x1b445): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char (&) [344]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1b454): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_673::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4231:(.text+0x1b46b): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_669::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4192:(.text+0x1b600): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4192:(.text+0x1b68d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [42]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1b69c): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_669::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4192:(.text+0x1b6b0): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_667::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4180:(.text+0x1b868): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4180:(.text+0x1b8ee): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [43]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1b8fd): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_667::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4180:(.text+0x1b928): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_665::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4168:(.text+0x1ba4b): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4168:(.text+0x1bad5): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [38]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1bae4): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_665::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4168:(.text+0x1bb16): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_681::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4282:(.text+0x1bf05): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4282:(.text+0x1bf99): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [41]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1bfa8): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_681::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4282:(.text+0x1bfb8): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_685::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4305:(.text+0x1d77d): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4305:(.text+0x1d814): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [59]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1d823): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_685::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4305:(.text+0x1d837): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_671::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4204:(.text+0x1da84): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4204:(.text+0x1db15): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [7]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1db24): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_671::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4204:(.text+0x1db3b): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_677::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4255:(.text+0x1dd7a): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4255:(.text+0x1de04): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [13]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1de13): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_677::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4255:(.text+0x1de2a): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_687::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4317:(.text+0x1e15a): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4317:(.text+0x1e1f1): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [15]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x1e200): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_687::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4317:(.text+0x1e214): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_848::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5425:(.text+0x20302): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5425:(.text+0x20364): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const (&) [1]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x20373): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_848::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5425:(.text+0x2037b): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_851::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5441:(.text+0x2080f): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5441:(.text+0x2086a): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<int, int>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x20879): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_851::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5441:(.text+0x20881): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_854::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5469:(.text+0x20cdf): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5469:(.text+0x20d3e): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const (&) [22]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x20d4d): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_854::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5469:(.text+0x20d5c): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_857::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5484:(.text+0x211c4): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::MessageStream::MessageStream()':
/usr/include/catch2/catch_message.hpp:25:(.text+0x211e4): undefined reference to `Catch::ReusableStringStream::ReusableStringStream()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_857::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5484:(.text+0x21202): undefined reference to `Catch::ReusableStringStream::str[abi:cxx11]() const'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5484:(.text+0x21217): undefined reference to `Catch::AssertionHandler::handleMessage(Catch::ResultWas::OfType, Catch::StringRef)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::MessageStream::~MessageStream()':
/usr/include/catch2/catch_message.hpp:25:(.text+0x21227): undefined reference to `Catch::ReusableStringStream::~ReusableStringStream()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_857::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5484:(.text+0x2122f): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_845::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5407:(.text+0x216d1): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5407:(.text+0x21730): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const (&) [1]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2173f): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_845::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5407:(.text+0x2174e): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_679::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4265:(.text+0x267a9): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4265:(.text+0x26833): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [20]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x26842): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_679::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4265:(.text+0x26859): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_683::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4293:(.text+0x27129): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4293:(.text+0x271ba): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [41]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x271c9): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_683::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4293:(.text+0x271e0): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_949::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5783:(.text+0x27a3d): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5783:(.text+0x27a61): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_951::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5803:(.text+0x27e59): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5803:(.text+0x27eb8): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<unsigned int, unsigned int>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x27ec7): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_951::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5803:(.text+0x27ed6): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5805:(.text+0x27f42): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:5805:(.text+0x27f6d): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_745::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4740:(.text+0x2814e): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4740:(.text+0x28172): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_748::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4757:(.text+0x28324): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4757:(.text+0x28348): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_742::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4727:(.text+0x284fa): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:4727:(.text+0x2851e): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_148::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1039:(.text+0x28f37): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1039:(.text+0x28fe2): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x28ff1): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_148::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1039:(.text+0x29001): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_145::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1025:(.text+0x29362): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1025:(.text+0x2940d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2941c): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_145::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1025:(.text+0x2942c): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_151::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1052:(.text+0x29792): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1052:(.text+0x2983d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2984c): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_151::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1052:(.text+0x2985c): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_139::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:999:(.text+0x29bc2): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:999:(.text+0x29c6d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x29c7c): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_139::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:999:(.text+0x29c8c): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_142::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1012:(.text+0x29ff2): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1012:(.text+0x2a09d): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2a0ac): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_142::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1012:(.text+0x2a0bc): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_136::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:986:(.text+0x2a437): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:986:(.text+0x2a4de): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<char const* const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2a4ed): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_136::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:986:(.text+0x2a4fd): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_160::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1091:(.text+0x2a874): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1091:(.text+0x2a90e): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2a91d): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_160::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1091:(.text+0x2a93c): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_154::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1065:(.text+0x2acde): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1065:(.text+0x2ad72): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [4]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2ad81): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_154::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1065:(.text+0x2ad98): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_157::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1078:(.text+0x2b0fe): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1078:(.text+0x2b192): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [4]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2b1a1): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_157::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1078:(.text+0x2b1b8): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_169::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1130:(.text+0x2b524): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1130:(.text+0x2b5be): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2b5cd): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_169::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1130:(.text+0x2b5ec): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_166::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1117:(.text+0x2b98e): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
/usr/bin/ld: ./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1117:(.text+0x2ba22): undefined reference to `Catch::AssertionHandler::handleExpr(Catch::ITransientExpression const&)'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `Catch::BinaryExpr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [4]>::~BinaryExpr()':
/usr/include/catch2/internal/catch_decomposer.hpp:73:(.text+0x2ba31): undefined reference to `Catch::ITransientExpression::~ITransientExpression()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_166::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1117:(.text+0x2ba48): undefined reference to `Catch::AssertionHandler::complete()'
/usr/bin/ld: CMakeFiles/self_test.dir/compiling_tests_11.cpp.o: in function `(anonymous namespace)::CATCH2_INTERNAL_TEST_163::test()':
./obj-x86_64-linux-gnu/test/./test/compiling_tests_11.cpp:1104:(.text+0x2bdae): undefined reference to `Catch::AssertionHandler::AssertionHandler(Catch::StringRef, Catch::SourceLineInfo const&, Catch::StringRef, Catch::ResultDisposition::Flags)'
...

I'd be nice if you could support catch 3.x for building and running the tests

Wait what?!?!? The self test uses Catch2 v3 since quite some time. The CI builds uses it for all except the C++11 builds (since Catch2 v3 requires at least C++14).

https://github.com/rollbear/trompeloeil/blob/main/test/compiling_tests.cpp#L18-L27

huh, I though upstream had dropped catch2/catch.hpp and replaced it with catch2/catch_all.hpp ? Or did I miss something here ?

I don't know, but this works with the latest released versions of both catch2 v2 and v3.

So, I'm a bit confused here. Is there something I should do?