summaryrefslogtreecommitdiff
path: root/gnulib-tests/test-fstatat.c
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2013-02-16 14:42:43 +0000
committerIgor Pashev <pashev.igor@gmail.com>2013-02-16 14:42:43 +0000
commit974ab3dd887985e3aa347f3c6521f819296396a0 (patch)
tree802fb82c9f8ec8acd7a60fba7824c2df6f0073ad /gnulib-tests/test-fstatat.c
parent8e7ba70eba02f88d4f3ba12e07ab9c7bdf32240a (diff)
downloadcoreutils-upstream/8.21.tar.gz
Imported Upstream version 8.21upstream/8.21
Diffstat (limited to 'gnulib-tests/test-fstatat.c')
-rw-r--r--gnulib-tests/test-fstatat.c15
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);