diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2017-08-15 15:53:50 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-08-15 15:54:16 -0700 |
commit | 9a6c7d3f6ea7c328e7760458b18fe6dfc6f8806f (patch) | |
tree | 65ade46ded480d6c5abedf478108f1e50ddaadab /tests/test-rename.h | |
parent | 13d3759b2063144f34b9f58f01552b5e6e0007cf (diff) | |
download | gnulib-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.h | 8 |
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); |