comparison tests/test-renameat.c @ 15707:b9ce5dc1f411

renameat tests: EBADF tests. * tests/test-renameat.c (main): Add tests for EBADF.
author Bruno Haible <bruno@clisp.org>
date Tue, 20 Sep 2011 22:48:42 +0200
parents 4cb21966f305
children 36909c5fff0b
comparison
equal deleted inserted replaced
15706:3f289df7b6a1 15707:b9ce5dc1f411
58 char *cwd; 58 char *cwd;
59 int result; 59 int result;
60 60
61 /* Clean up any trash from prior testsuite runs. */ 61 /* Clean up any trash from prior testsuite runs. */
62 ignore_value (system ("rm -rf " BASE "*")); 62 ignore_value (system ("rm -rf " BASE "*"));
63
64 /* Test behaviour for invalid file descriptors. */
65 {
66 errno = 0;
67 ASSERT (renameat (-1, "foo", AT_FDCWD, "bar") == -1);
68 ASSERT (errno == EBADF);
69 }
70 {
71 errno = 0;
72 ASSERT (renameat (99, "foo", AT_FDCWD, "bar") == -1);
73 ASSERT (errno == EBADF);
74 }
75 ASSERT (close (creat (BASE "oo", 0600)) == 0);
76 {
77 errno = 0;
78 ASSERT (renameat (AT_FDCWD, BASE "oo", -1, "bar") == -1);
79 ASSERT (errno == EBADF);
80 }
81 {
82 errno = 0;
83 ASSERT (renameat (AT_FDCWD, BASE "oo", 99, "bar") == -1);
84 ASSERT (errno == EBADF);
85 }
63 86
64 /* Test basic rename functionality, using current directory. */ 87 /* Test basic rename functionality, using current directory. */
65 result = test_rename (do_rename, false); 88 result = test_rename (do_rename, false);
66 dfd1 = open (".", O_RDONLY); 89 dfd1 = open (".", O_RDONLY);
67 ASSERT (0 <= dfd1); 90 ASSERT (0 <= dfd1);