diff --git a/src/language/utils/CheckpointResumeRepository.cpp b/src/language/utils/CheckpointResumeRepository.cpp index d93476823787114b078a73c681e7a07f6e457c61..59860cf3ba27adec4dbcc6fffde7b95f6e282939 100644 --- a/src/language/utils/CheckpointResumeRepository.cpp +++ b/src/language/utils/CheckpointResumeRepository.cpp @@ -2,6 +2,8 @@ CheckpointResumeRepository* CheckpointResumeRepository::m_instance = nullptr; +#ifdef PUGS_HAS_HDF5 + void CheckpointResumeRepository::checkpoint(const ASTNodeDataType& data_type, const std::string& symbol_name, @@ -44,6 +46,8 @@ CheckpointResumeRepository::resume(const ASTNodeDataType& data_type, } } +#endif // PUGS_HAS_HDF5 + void CheckpointResumeRepository::create() { diff --git a/src/language/utils/CheckpointResumeRepository.hpp b/src/language/utils/CheckpointResumeRepository.hpp index 7aef97e796036b40af9ba216f108098d836bfa7d..386c586b7b34c3c7618526614106373aab069396 100644 --- a/src/language/utils/CheckpointResumeRepository.hpp +++ b/src/language/utils/CheckpointResumeRepository.hpp @@ -6,6 +6,7 @@ #include <utils/HighFivePugsUtils.hpp> #include <utils/PugsAssert.hpp> #include <utils/PugsUtils.hpp> +#include <utils/pugs_build_info.hpp> #include <string> #include <unordered_map> @@ -37,10 +38,12 @@ class CheckpointResumeRepository const auto [i, inserted] = m_data_type_checkpointing.insert({data_type_name, std::forward<CheckpointFunction>(checkpoint_function)}); if (not(inserted)) { + // LCOV_EXCL_START std::ostringstream error_msg; error_msg << "checkpointing for type '" << rang::fgB::yellow << data_type_name << rang::fg::reset << "' has already be defined"; throw UnexpectedError(error_msg.str()); + // LCOV_EXCL_STOP } } { @@ -50,6 +53,7 @@ class CheckpointResumeRepository } } +#ifdef PUGS_HAS_HDF5 void checkpoint(const ASTNodeDataType& data_type, const std::string& symbol_name, const EmbeddedData& embedded_data, @@ -60,6 +64,7 @@ class CheckpointResumeRepository EmbeddedData resume(const ASTNodeDataType& data_type, const std::string& symbol_name, const HighFive::Group& symbol_table_group) const; +#endif // PUGS_HAS_HDF5 static void create(); diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 0a6d69d39ef0c2402a6773e8706531da9435e333..4ccb5a9275b1be3dd7247372f334d83e67d7eeae 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -94,6 +94,7 @@ add_executable (unit_tests test_EscapedString.cpp test_Exceptions.cpp test_ExecutionPolicy.cpp + test_Exit.cpp test_FaceIntegrator.cpp test_FakeProcessor.cpp test_ForProcessor.cpp diff --git a/tests/test_Exit.cpp b/tests/test_Exit.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c405b12e234670aa28d9e631d1daa6af2c0b2005 --- /dev/null +++ b/tests/test_Exit.cpp @@ -0,0 +1,19 @@ +#include <catch2/catch_test_macros.hpp> +#include <catch2/matchers/catch_matchers_all.hpp> + +#include <language/utils/Exit.hpp> + +// clazy:excludeall=non-pod-global-static + +TEST_CASE("Exit", "[language/utils]") +{ + language::Exit exit0 = language::Exit{0}; + + REQUIRE(exit0.code() == 0); + + language::Exit exit1{1}; + REQUIRE(exit1.code() == 1); + + language::Exit exit_move = std::move(exit1); + REQUIRE(exit_move.code() == 1); +}