diff options
Diffstat (limited to 'gnulib-tests/test-fstatat.c')
-rw-r--r-- | gnulib-tests/test-fstatat.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/gnulib-tests/test-fstatat.c b/gnulib-tests/test-fstatat.c index a128c876..9fdbe2e6 100644 --- a/gnulib-tests/test-fstatat.c +++ b/gnulib-tests/test-fstatat.c @@ -1,5 +1,5 @@ /* Tests of fstatat. - Copyright (C) 2009-2012 Free Software Foundation, Inc. + Copyright (C) 2009-2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -36,7 +36,9 @@ SIGNATURE_CHECK (fstatat, int, (int, char const *, struct stat *, int)); #include "ignore-value.h" #include "macros.h" -#define BASE "test-fstatat.t" +#ifndef BASE +# define BASE "test-fstatat.t" +#endif #include "test-lstat.h" #include "test-stat.h" @@ -47,14 +49,22 @@ static int dfd = AT_FDCWD; static int do_stat (char const *name, struct stat *st) { +#ifdef TEST_STATAT return statat (dfd, name, st); +#else + return fstatat (dfd, name, st, 0); +#endif } /* Wrapper around fstatat to test lstat behavior. */ static int do_lstat (char const *name, struct stat *st) { +#ifdef TEST_STATAT return lstatat (dfd, name, st); +#else + return fstatat (dfd, name, st, AT_SYMLINK_NOFOLLOW); +#endif } int @@ -78,6 +88,7 @@ main (int argc _GL_UNUSED, char *argv[]) { struct stat statbuf; + close (99); errno = 0; ASSERT (fstatat (99, "foo", &statbuf, 0) == -1); ASSERT (errno == EBADF); |