summaryrefslogtreecommitdiff
path: root/tests/test-rename.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-08-15 15:53:50 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-08-15 15:54:16 -0700
commit9a6c7d3f6ea7c328e7760458b18fe6dfc6f8806f (patch)
tree65ade46ded480d6c5abedf478108f1e50ddaadab /tests/test-rename.h
parent13d3759b2063144f34b9f58f01552b5e6e0007cf (diff)
downloadgnulib-9a6c7d3f6ea7c328e7760458b18fe6dfc6f8806f.tar.gz
rename: document+test NetBSD rename
Test failure reported by Bruno Haible in: http://lists.gnu.org/archive/html/bug-gnulib/2017-08/msg00104.html This is an area where NetBSD is better-behaved than POSIX, so allow the NetBSD behavior in tests. * doc/posix-functions/rename.texi: * doc/posix-functions/renameat.texi: Document NetBSD behavior. * tests/test-rename.h (test_rename): Allow NetBSD behavior.
Diffstat (limited to 'tests/test-rename.h')
-rw-r--r--tests/test-rename.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/test-rename.h b/tests/test-rename.h
index 93a1041db1..010d58d76c 100644
--- a/tests/test-rename.h
+++ b/tests/test-rename.h
@@ -522,7 +522,13 @@ test_rename (int (*func) (char const *, char const *), bool print)
{ /* File onto hard link. */
ASSERT (func (BASE "file", BASE "file2") == 0);
memset (&st, 0, sizeof st);
- ASSERT (stat (BASE "file", &st) == 0);
+ if (stat (BASE "file", &st) != 0)
+ {
+ /* This can happen on NetBSD. */
+ ASSERT (errno == ENOENT);
+ ASSERT (link (BASE "file2", BASE "file") == 0);
+ ASSERT (stat (BASE "file", &st) == 0);
+ }
ASSERT (st.st_size == 2);
memset (&st, 0, sizeof st);
ASSERT (stat (BASE "file2", &st) == 0);