Mercurial > hg > octave-nkf > gnulib-hg
changeset 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 | 3f289df7b6a1 |
children | 7eaba4a7b6f5 |
files | ChangeLog tests/test-renameat.c |
diffstat | 2 files changed, 26 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-09-20 Bruno Haible <bruno@clisp.org> + renameat tests: EBADF tests. + * tests/test-renameat.c (main): Add tests for EBADF. + mkfifoat tests: EBADF tests. * tests/test-mkfifoat.c (main): Add tests for EBADF.
--- a/tests/test-renameat.c +++ b/tests/test-renameat.c @@ -61,6 +61,29 @@ /* Clean up any trash from prior testsuite runs. */ ignore_value (system ("rm -rf " BASE "*")); + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (renameat (-1, "foo", AT_FDCWD, "bar") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (renameat (99, "foo", AT_FDCWD, "bar") == -1); + ASSERT (errno == EBADF); + } + ASSERT (close (creat (BASE "oo", 0600)) == 0); + { + errno = 0; + ASSERT (renameat (AT_FDCWD, BASE "oo", -1, "bar") == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (renameat (AT_FDCWD, BASE "oo", 99, "bar") == -1); + ASSERT (errno == EBADF); + } + /* Test basic rename functionality, using current directory. */ result = test_rename (do_rename, false); dfd1 = open (".", O_RDONLY);