]> Savannah Git Hosting - gnulib.git/commitdiff
renameatu tests: Add unit test for bug found on macOS.
authorBruno Haible <bruno@clisp.org>
Sat, 27 Mar 2021 16:46:58 +0000 (17:46 +0100)
committerBruno Haible <bruno@clisp.org>
Sat, 27 Mar 2021 16:46:58 +0000 (17:46 +0100)
* tests/test-renameatu.c (main): Add test for identical rename with
RENAME_NOREPLACE.

ChangeLog
tests/test-renameatu.c

index 94f6fa420575f6018a5d6c9cb26c82bd05dced02..e9c8e21511b5b671158569ca111a06e83a25855b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2021-03-27  Bruno Haible  <bruno@clisp.org>
+
+       renameatu tests: Add unit test for bug found on macOS.
+       * tests/test-renameatu.c (main): Add test for identical rename with
+       RENAME_NOREPLACE.
+
 2021-03-26  Bruno Haible  <bruno@clisp.org>
 
        unistdio/*-vasnprintf: Fix errno value (regression from yesterday).
index db8b56ac4c767c01cd72befb328635c1632d4ae6..28d1470581b01daaf5a808e85c1a6f96d1175b19 100644 (file)
@@ -189,9 +189,19 @@ main (void)
   /* Finally, make sure we cannot overwrite existing files.  */
   ASSERT (close (creat (BASE "sub2/file", 0600)) == 0);
   errno = 0;
+  ASSERT ((renameatu (dfd, BASE "sub2/file", dfd, BASE "sub2/file",
+                      RENAME_NOREPLACE)
+           == -1)
+          && errno == EEXIST);
+  errno = 0;
+  ASSERT ((renameatu (dfd, BASE "sub2", dfd, BASE "sub2", RENAME_NOREPLACE)
+           == -1)
+          && errno == EEXIST);
+  errno = 0;
   ASSERT ((renameatu (dfd, BASE "sub2", dfd, BASE "sub1", RENAME_NOREPLACE)
            == -1)
           && errno == EEXIST);
+  errno = 0;
   ASSERT ((renameatu (dfd, BASE "sub2/file", dfd, BASE "17", RENAME_NOREPLACE)
            == -1)
           && errno == EEXIST);