Mercurial > hg > octave-kai > gnulib-hg
changeset 15685:e186705ad0d3
fchdir tests: EBADF tests.
* tests/test-fchdir.c (main): Add more tests for EBADF.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Tue, 20 Sep 2011 21:58:23 +0200 |
parents | 0812be5c6a57 |
children | 1a791c8d9039 |
files | ChangeLog tests/test-fchdir.c |
diffstat | 2 files changed, 21 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-09-20 Bruno Haible <bruno@clisp.org> + fchdir tests: EBADF tests. + * tests/test-fchdir.c (main): Add more tests for EBADF. + dup2 tests: EBADF tests. * tests/test-dup2.c (main): Add more tests for EBADF.
--- a/tests/test-fchdir.c +++ b/tests/test-fchdir.c @@ -34,14 +34,29 @@ int main (void) { - char *cwd = getcwd (NULL, 0); - int fd = open (".", O_RDONLY); + char *cwd; + int fd; int i; + cwd = getcwd (NULL, 0); ASSERT (cwd); + + fd = open (".", O_RDONLY); ASSERT (0 <= fd); - /* Check for failure cases. */ + /* Test behaviour for invalid file descriptors. */ + { + errno = 0; + ASSERT (fchdir (-1) == -1); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fchdir (99) == -1); + ASSERT (errno == EBADF); + } + + /* Check for other failure cases. */ { int bad_fd = open ("/dev/null", O_RDONLY); ASSERT (0 <= bad_fd); @@ -49,9 +64,6 @@ ASSERT (fchdir (bad_fd) == -1); ASSERT (errno == ENOTDIR); ASSERT (close (bad_fd) == 0); - errno = 0; - ASSERT (fchdir (-1) == -1); - ASSERT (errno == EBADF); } /* Repeat test twice, once in '.' and once in '..'. */