void test_xdg_data_dirs(void **param) { //return $XDG_DATA_DIRS if defined setenv("XDG_DATA_DIRS", TMP_DIR, 1); assert_string_equal(xdg_data_dirs(), TMP_DIR); //return /usr/local/share:/usr/share if empty or not defined setenv("XDG_DATA_DIRS", "", 1); assert_string_equal(xdg_data_dirs(), DEFAULT_XDG_DATA_DIRS); unsetenv("XDG_DATA_DIRS"); assert_string_equal(xdg_data_dirs(), DEFAULT_XDG_DATA_DIRS); }
int main() { unsetenv("XDG_DATA_DIRS"); unsetenv("XDG_CONFIG_DIRS"); unsetenv("XDG_CACHE_HOME"); unsetenv("XDG_RUNTIME_DIR"); unsetenv("TMPDIR"); unsetenv("XDG_DATA_HOME"); unsetenv("XDG_CONFIG_HOME"); setenv("HOME", "/home/test", 1); setenv("USER", "test", 1); printf("data_dirs = %s\n", xdg_data_dirs()); printf("config_dirs = %s\n", xdg_config_dirs()); printf("runtime_dir = %s\n", xdg_runtime_dir()); return 0; }