summaryrefslogtreecommitdiff
path: root/tests/libtracker-common
diff options
context:
space:
mode:
authorMart Raudsepp <leio@gentoo.org>2019-02-13 20:09:45 +0200
committerMart Raudsepp <leio@gentoo.org>2019-02-13 20:09:45 +0200
commitb9c2b6827981dd32041f59d89f74c7f4537697f0 (patch)
treeff095dae8877c67b348ff7d4df5d0969cd5e2b0b /tests/libtracker-common
parenta955347207e2c7e3524ffbf3203913f1a38175bb (diff)
downloadtracker-b9c2b6827981dd32041f59d89f74c7f4537697f0.tar.gz
libtracker-common: improve test_path_evaluate_name environment handling
Under some environments $PWD might not point where we expect, so simply use g_get_current_dir() instead. g_getenv() is documented to return a pointer that may get overwritten by subsequent calls to g_getenv, g_setenv of g_unsetenv. As even after removing the second g_getenv, there's still g_setenv calls, take a copy.
Diffstat (limited to 'tests/libtracker-common')
-rw-r--r--tests/libtracker-common/tracker-file-utils-test.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/tests/libtracker-common/tracker-file-utils-test.c b/tests/libtracker-common/tracker-file-utils-test.c
index 93a409b37..5bf1c9ed4 100644
--- a/tests/libtracker-common/tracker-file-utils-test.c
+++ b/tests/libtracker-common/tracker-file-utils-test.c
@@ -131,14 +131,14 @@ test_path_list_filter_duplicates_with_exceptions ()
static void
test_path_evaluate_name (void)
{
- gchar *result, *expected;
+ gchar *result, *expected, *pwd, *home;
- const gchar *home = g_getenv ("HOME");
- const gchar *pwd = g_getenv ("PWD");
const gchar *test = "/one/two";
gchar *parent_dir;
+ home = g_strdup (g_getenv ("HOME"));
+ pwd = g_get_current_dir ();
g_setenv ("TEST_TRACKER_DIR", test, TRUE);
@@ -216,6 +216,8 @@ test_path_evaluate_name (void)
result = tracker_path_evaluate_name (tracker_test_helpers_get_nonutf8 ());
g_assert_cmpstr (result, ==, tracker_test_helpers_get_nonutf8 ());
+ g_free (home);
+ g_free (pwd);
g_unsetenv ("TEST_TRACKER_DIR");
}