mirror of git://sourceware.org/git/glibc.git
io/tst-stat.c: Use a temporary directory for symlink test
Call support_create_temp_directory to create a temporary directory for symlink test, instead of a fixed file in the glibc source tree, to avoid the race condition when there are more than one glibc tests running at the same time with the same glibc source tree. This fixes BZ #33178. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Andreas K. Huettel <dilfridge@gentoo.org>
This commit is contained in:
parent
01196393c2
commit
55e85c1e48
|
|
@ -27,6 +27,7 @@
|
|||
#include <sys/sysmacros.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
static void
|
||||
stat_check (int fd, const char *path, struct stat *st)
|
||||
|
|
@ -78,7 +79,8 @@ static int
|
|||
do_test (void)
|
||||
{
|
||||
char *path;
|
||||
const char *linkame = "tst-fstat.linkname";
|
||||
char *tempdir = support_create_temp_directory ("tst-stat-");
|
||||
char *linkname = xasprintf ("%s/tst-fstat.linkname", tempdir);
|
||||
int fd = create_temp_file ("tst-fstat.", &path);
|
||||
TEST_VERIFY_EXIT (fd >= 0);
|
||||
support_write_file_string (path, "abc");
|
||||
|
|
@ -122,9 +124,12 @@ do_test (void)
|
|||
}
|
||||
}
|
||||
|
||||
TEST_COMPARE (symlink ("tst-fstat.target", linkame), 0);
|
||||
add_temp_file (linkame);
|
||||
fstatat_link (linkame, &st);
|
||||
TEST_COMPARE (symlink ("tst-fstat.target", linkname), 0);
|
||||
add_temp_file (linkname);
|
||||
fstatat_link (linkname, &st);
|
||||
|
||||
free (linkname);
|
||||
free (tempdir);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue