X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-renameat.c;h=eba8e161faf7aa2ca52f2c7cea550b8d67318fc4;hb=d6e564567eb4ab3033d8e08c8467e3d1a3f51c0d;hp=09e51190247f9c337dbeeb13f35a08967c83ad79;hpb=1b6986bdbf9454a758ed2c24f8f7d91e34e6bc75;p=gnulib.git diff --git a/tests/test-renameat.c b/tests/test-renameat.c index 09e511902..eba8e161f 100644 --- a/tests/test-renameat.c +++ b/tests/test-renameat.c @@ -1,5 +1,5 @@ /* Tests of renameat. - Copyright (C) 2009 Free Software Foundation, Inc. + Copyright (C) 2009-2011 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 @@ -20,27 +20,21 @@ #include +#include "signature.h" +SIGNATURE_CHECK (renameat, int, (int, char const *, int, char const *)); + +#include #include #include #include #include #include #include +#include #include "filenamecat.h" -#include "xgetcwd.h" - -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) +#include "ignore-value.h" +#include "macros.h" #define BASE "test-renameat.t" @@ -57,7 +51,7 @@ do_rename (char const *name1, char const *name2) } int -main () +main (void) { int i; int dfd; @@ -65,7 +59,7 @@ main () int result; /* Clean up any trash from prior testsuite runs. */ - ASSERT (system ("rm -rf " BASE "*") == 0); + ignore_value (system ("rm -rf " BASE "*")); /* Test basic rename functionality, using current directory. */ result = test_rename (do_rename, false); @@ -84,7 +78,8 @@ main () dfd = creat (BASE "00", 0600); ASSERT (0 <= dfd); ASSERT (close (dfd) == 0); - cwd = xgetcwd (); + cwd = getcwd (NULL, 0); + ASSERT (cwd); dfd = open (BASE "sub1", O_RDONLY); ASSERT (0 <= dfd); @@ -134,10 +129,11 @@ main () ASSERT (unlink (BASE "sub2/file") == 0); errno = 0; ASSERT (renameat (dfd, BASE "sub2", dfd, BASE "sub1/.") == -1); - ASSERT (errno == EINVAL || errno == EISDIR || errno == EBUSY); + ASSERT (errno == EINVAL || errno == EISDIR || errno == EBUSY + || errno == ENOTEMPTY || errno == EEXIST); errno = 0; ASSERT (renameat (dfd, BASE "sub2/.", dfd, BASE "sub1") == -1); - ASSERT (errno == EINVAL || errno == EBUSY); + ASSERT (errno == EINVAL || errno == EBUSY || errno == EEXIST); errno = 0; ASSERT (renameat (dfd, BASE "17", dfd, BASE "sub1") == -1); ASSERT (errno == EISDIR); @@ -179,7 +175,7 @@ main () free (cwd); if (result) - fputs ("skipping test: symlinks not supported on this filesystem\n", + fputs ("skipping test: symlinks not supported on this file system\n", stderr); return result; }