From 9a6c7d3f6ea7c328e7760458b18fe6dfc6f8806f Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 15 Aug 2017 15:53:50 -0700 Subject: 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. --- tests/test-rename.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'tests/test-rename.h') 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); -- cgit v1.2.1