approvals / ApprovalTests.cpp

Native ApprovalTests for C++ on Linux, Mac and Windows
https://approvaltestscpp.readthedocs.io/en/latest/
Apache License 2.0
317 stars 51 forks source link

Build error with fmt library integration in v.10.9.0 release #180

Closed claremacrae closed 3 years ago

claremacrae commented 3 years ago

A change in order of include files in ApprovalTests.hpp has caused examples/fmt_approvals_demo to fail to build after the v.10.9.0 release:

Build errors ```txt [ 79%] Building CXX object examples/fmt_approvals_demo/CMakeFiles/fmt_approvals_demo.dir/FmtTests.cpp.o In file included from /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/examples/fmt_approvals_demo/main.cpp:5: In file included from /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/ApprovalTests/ApprovalTests.hpp:53: /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/ApprovalTests/../ApprovalTests/Approvals.h:266:47: error: use of undeclared identifier 'FmtToString' TApprovals>; ^ /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/examples/fmt_approvals_demo/FmtAsDefault.h:4:49: note: expanded from macro 'APPROVAL_TESTS_DEFAULT_STREAM_CONVERTER' #define APPROVAL_TESTS_DEFAULT_STREAM_CONVERTER FmtToString ^ In file included from /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/examples/fmt_approvals_demo/main.cpp:5: In file included from /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/ApprovalTests/ApprovalTests.hpp:53: /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/ApprovalTests/../ApprovalTests/Approvals.h:266:88: error: expected a type TApprovals>; ^ In file included from /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/examples/fmt_approvals_demo/main.cpp:5: In file included from /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/ApprovalTests/ApprovalTests.hpp:60: /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/ApprovalTests/../ApprovalTests/CombinationApprovals.h:63:13: error: use of undeclared identifier 'Approvals' Approvals::verify(s.str(), options); ^ [ 80%] Building CXX object tests/DocTest_Tests/CMakeFiles/DocTest_Tests.dir/reporters/CIBuildOnlyReporterTests.cpp.o /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/examples/fmt_approvals_demo/main.cpp:10:20: error: no member named 'Approvals' in namespace 'ApprovalTests'; did you mean 'FmtApprovals'? ApprovalTests::Approvals::useApprovalsSubdirectory("approval_tests"); ~~~~~~~~~~~~~~~^~~~~~~~~ FmtApprovals /home/runner/work/ApprovalTests.cpp/ApprovalTests.cpp/ApprovalTests/../ApprovalTests/integrations/fmt/FmtApprovals.h:7:11: note: 'FmtApprovals' declared here using FmtApprovals = ^ [ 80%] Building CXX object examples/doctest_starter/CMakeFiles/doctest_starter.dir/doctest_starter_test.cpp.o 4 errors generated. make[2]: *** [examples/fmt_approvals_demo/CMakeFiles/fmt_approvals_demo.dir/build.make:76: examples/fmt_approvals_demo/CMakeFiles/fmt_approvals_demo.dir/main.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... ```
claremacrae commented 3 years ago

Fixed in in v.10.9.1 release