container: root: test: unit: utility: add/update macro cases

This commit is contained in:
2025-12-19 11:30:39 -08:00
parent a937ebe565
commit 07fe396356

View File

@@ -867,22 +867,51 @@ struct MacroFreeFiles : public ::testing::Test,
{
};
TEST_F(MacroFreeFiles, LoadSingle)
TEST_F(MacroFreeFiles, LoadUnloadSingleSimple)
{
ASSERT_THROW(
::dfi::macro::load("macro/should-not/exist.C"),
::dfi::macro::load("repo/should-not/exist.C"),
common::type::RuntimeError);
ASSERT_THROW(
common::line("dfi::macro::common::crypto::botan::Hash h;"),
common::type::RuntimeError);
// TODO(afiore): macro loading should not need to be prepended with "macro/"
// (see TODO in common impl regarding plugins-like functionality)
ASSERT_NO_THROW(::dfi::macro::load("macro/crypto/hash.C"));
ASSERT_NO_THROW(::dfi::macro::load("repo/crypto/hash.C"));
ASSERT_NO_THROW(common::line("dfi::macro::common::crypto::botan::Hash h;"));
ASSERT_NO_THROW(::dfi::macro::unload("repo/crypto/hash.C"));
ASSERT_THROW(
common::line("dfi::macro::common::crypto::botan::Hash h;"),
common::type::RuntimeError);
}
// TODO(afiore): multiple load
// TODO(afiore): unload, reload
TEST_F(MacroFreeFiles, LoadUnloadMultipleSimple)
{
ASSERT_THROW(
common::line("dfi::macro::common::crypto::botan::Hash h;"),
common::type::RuntimeError);
ASSERT_THROW(
common::line("dfi::macro::common::crypto::libsodium::Random r;"),
common::type::RuntimeError);
ASSERT_NO_THROW(
::dfi::macro::load({"repo/crypto/hash.C", "repo/crypto/random.C"}));
ASSERT_NO_THROW(common::line("dfi::macro::common::crypto::botan::Hash h;"));
ASSERT_NO_THROW(
common::line("dfi::macro::common::crypto::libsodium::Random r;"));
ASSERT_NO_THROW(
::dfi::macro::unload({"repo/crypto/random.C", "repo/crypto/hash.C"}));
ASSERT_THROW(
common::line("dfi::macro::common::crypto::libsodium::Random r;"),
common::type::RuntimeError);
ASSERT_THROW(
common::line("dfi::macro::common::crypto::botan::Hash h;"),
common::type::RuntimeError);
}
// TODO(afiore): load/unload w/ Pluggable types
// TODO(afiore): reload
//! \brief Plugin command fixture for testing auto-(un|re)loading functionality
//! \details Will test loading/unloading/reloading and argument passing to plugin