Make symlink test work installed

We can't assume that the location used for G_TEST_DIST paths
is writable, so just create the symlink in the current directory
instead.
This commit is contained in:
Matthias Clasen 2014-01-01 23:28:23 -05:00
parent d91023fb4c
commit d25b655bf5

View File

@ -795,14 +795,17 @@ test_read_link (void)
#ifdef G_OS_UNIX #ifdef G_OS_UNIX
int ret; int ret;
const gchar *oldpath; const gchar *oldpath;
const gchar *newpath; gchar *cwd;
const gchar *badpath; gchar *newpath;
gchar *badpath;
gchar *path; gchar *path;
GError *error = NULL; GError *error = NULL;
cwd = g_get_current_dir ();
oldpath = g_test_get_filename (G_TEST_DIST, "4096-random-bytes", NULL); oldpath = g_test_get_filename (G_TEST_DIST, "4096-random-bytes", NULL);
newpath = g_test_get_filename (G_TEST_DIST, "page-of-junk", NULL); newpath = g_build_filename (cwd, "page-of-junk", NULL);
badpath = g_test_get_filename (G_TEST_DIST, "4097-random-bytes", NULL); badpath = g_build_filename (cwd, "4097-random-bytes", NULL);
remove (newpath); remove (newpath);
ret = symlink (oldpath, newpath); ret = symlink (oldpath, newpath);
g_assert (ret == 0); g_assert (ret == 0);
@ -823,6 +826,10 @@ test_read_link (void)
g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL); g_assert_error (error, G_FILE_ERROR, G_FILE_ERROR_INVAL);
g_assert_null (path); g_assert_null (path);
g_free (cwd);
g_free (newpath);
g_free (badpath);
#endif #endif
#else #else
g_test_skip ("Symbolic links not supported"); g_test_skip ("Symbolic links not supported");