#include <sc_unittest.h> #include <sc_env.h> static void UT_SC_getenv(void); static void UT_SC_getenv_invalidKey(void); static void UT_SC_getenv_emptyKey(void); static void UT_SC_setenv(void); static void UT_SC_setenv_invalidKey(void); static void UT_SC_setenv_overwrite(void); static void UT_SC_setenv_noOverwrite(void); static void UT_SC_setenv_error(void); static void UT_SC_unsetenv(void); static void UT_SC_unsetenv_emptyKey(void); void UT_regist_sc_env(void) { SC_Unittest_add("SC_getenv" , UT_SC_getenv); SC_Unittest_add("SC_getenv_invalidKey" , UT_SC_getenv_invalidKey); SC_Unittest_add("SC_getenv_emptyKey" , UT_SC_getenv_emptyKey); SC_Unittest_add("SC_setenv" , UT_SC_setenv); SC_Unittest_add("SC_setenv_invalidKey" , UT_SC_setenv_invalidKey); SC_Unittest_add("SC_setenv_overwirte" , UT_SC_setenv_overwrite); SC_Unittest_add("SC_setenv_noOverwrite" , UT_SC_setenv_noOverwrite); SC_Unittest_add("SC_setenv_error" , UT_SC_setenv_error); SC_Unittest_add("SC_unsetenv" , UT_SC_unsetenv); SC_Unittest_add("SC_unsetenv_emptyKey" , UT_SC_unsetenv_emptyKey); } static void UT_SC_getenv(void) { bool ret; const char* result; ret = SC_setenv("UNITTEST", "UNITTEST-01", true); result = SC_getenv("UNITTEST"); SC_assert(ret); SC_assertString("UNITTEST-01", result); } static void UT_SC_getenv_invalidKey(void) { const char* result; SC_setenv("UNITTEST", "UNITTEST-01", true); result = SC_getenv("UNITTEST=ABC"); SC_assertString("UNITTEST-01", result); } static void UT_SC_getenv_emptyKey(void) { const char* result; result = SC_getenv(""); SC_assertString(NULL, result); } static void UT_SC_setenv(void) { bool ret; const char* result; ret = SC_setenv("UNITTEST", "UNITTEST-01", true); result = SC_getenv("UNITTEST"); SC_assert(ret); SC_assertString("UNITTEST-01", result); } static void UT_SC_setenv_invalidKey(void) { bool ret; ret = SC_setenv("UNITTEST=ABC", "UNITTEST-01", true); SC_assert(!ret); } static void UT_SC_setenv_overwrite(void) { bool ret; const char* result; SC_setenv("UNITTEST", "UNITTEST-01", true); ret = SC_setenv("UNITTEST", "UNITTEST-02", true); result = SC_getenv("UNITTEST"); SC_assert(ret); SC_assertString("UNITTEST-02", result); } static void UT_SC_setenv_noOverwrite(void) { bool ret; const char* result; SC_setenv("UNITTEST", "UNITTEST-01", true); ret = SC_setenv("UNITTEST", "UNITTEST-02", false); result = SC_getenv("UNITTEST"); SC_assert(ret); SC_assertString("UNITTEST-01", result); } static void UT_SC_setenv_error(void) { bool ret; ret = SC_setenv("", "UNITTEST-01", true); SC_assert(!ret); } static void UT_SC_unsetenv(void) { bool ret; SC_setenv("UNITTEST", "UNITTEST-01", true); ret = SC_unsetenv("UNITTEST"); SC_assert(ret); } static void UT_SC_unsetenv_emptyKey(void) { bool ret; ret = SC_unsetenv(""); SC_assert(!ret); }