diff --git a/OdbDesignTests/CrossPlatformTests.cpp b/OdbDesignTests/CrossPlatformTests.cpp index 23caf560..eb76ffef 100644 --- a/OdbDesignTests/CrossPlatformTests.cpp +++ b/OdbDesignTests/CrossPlatformTests.cpp @@ -4,6 +4,8 @@ #include "Fixtures/TestDataFixture.h" #include #include +#include +#include using namespace std::filesystem; using namespace Odb::Test::Fixtures; @@ -14,15 +16,34 @@ namespace Odb::Test { TEST_F(TestDataFixture, Test_CrossPlatform_GetEnvSafe_VariableExists) { + auto szTestEnvValue = std::getenv(ODB_TEST_ENV_NAME); + EXPECT_THAT(szTestEnvValue, NotNull()); + std::string value; ASSERT_EQ(value.size(), 0U); - ASSERT_TRUE(CrossPlatform::getenv_safe(ODB_TEST_ENV_NAME, value)); + auto bResult = CrossPlatform::getenv_safe(ODB_TEST_ENV_NAME, value); ASSERT_STRNE(value.c_str(), ""); ASSERT_STREQ(value.c_str(), ODB_TEST_ENV_VALUE); + ASSERT_TRUE(bResult); + } + + TEST_F(TestDataFixture, Test_CrossPlatform_GetEnvSafe_KnownVariableExists) + { + auto szTestEnvValue = std::getenv(ODB_TEST_DATA_DIR_ENV_NAME); + EXPECT_THAT(szTestEnvValue, NotNull()); + + std::string value; + ASSERT_EQ(value.size(), 0U); + auto bResult = CrossPlatform::getenv_safe(ODB_TEST_DATA_DIR_ENV_NAME, value); + ASSERT_STRNE(value.c_str(), ""); + ASSERT_TRUE(bResult); } TEST_F(TestDataFixture, Test_CrossPlatform_GetEnvSafe_VariableDoesntExist) { + auto szDoesntExistVal = std::getenv(ODB_TEST_NONEXISTENT_ENV_NAME); + EXPECT_THAT(szDoesntExistVal, IsNull()); + std::string value; ASSERT_EQ(value.size(), 0U); ASSERT_FALSE(CrossPlatform::getenv_safe(ODB_TEST_NONEXISTENT_ENV_NAME, value));