forked from EvergreenCrypto/docker-finance
container: root: test: unit: utility: add/update macro cases
This commit is contained in:
@@ -867,22 +867,51 @@ struct MacroFreeFiles : public ::testing::Test,
|
|||||||
{
|
{
|
||||||
};
|
};
|
||||||
|
|
||||||
TEST_F(MacroFreeFiles, LoadSingle)
|
TEST_F(MacroFreeFiles, LoadUnloadSingleSimple)
|
||||||
{
|
{
|
||||||
ASSERT_THROW(
|
ASSERT_THROW(
|
||||||
::dfi::macro::load("macro/should-not/exist.C"),
|
::dfi::macro::load("repo/should-not/exist.C"),
|
||||||
common::type::RuntimeError);
|
common::type::RuntimeError);
|
||||||
ASSERT_THROW(
|
ASSERT_THROW(
|
||||||
common::line("dfi::macro::common::crypto::botan::Hash h;"),
|
common::line("dfi::macro::common::crypto::botan::Hash h;"),
|
||||||
common::type::RuntimeError);
|
common::type::RuntimeError);
|
||||||
|
|
||||||
// TODO(afiore): macro loading should not need to be prepended with "macro/"
|
ASSERT_NO_THROW(::dfi::macro::load("repo/crypto/hash.C"));
|
||||||
// (see TODO in common impl regarding plugins-like functionality)
|
|
||||||
ASSERT_NO_THROW(::dfi::macro::load("macro/crypto/hash.C"));
|
|
||||||
ASSERT_NO_THROW(common::line("dfi::macro::common::crypto::botan::Hash h;"));
|
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
|
//! \brief Plugin command fixture for testing auto-(un|re)loading functionality
|
||||||
//! \details Will test loading/unloading/reloading and argument passing to plugin
|
//! \details Will test loading/unloading/reloading and argument passing to plugin
|
||||||
|
|||||||
Reference in New Issue
Block a user