Mercurial > hg > octave-nkf > gnulib-hg
changeset 15719:5adced00bbec
fclose tests: EBADF tests.
* tests/test-fclose.c (main): Add tests for EBADF.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Tue, 20 Sep 2011 23:12:01 +0200 |
parents | 8240f09ff8de |
children | 3a20a51c1323 |
files | ChangeLog tests/test-fclose.c |
diffstat | 2 files changed, 32 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2011-09-20 Bruno Haible <bruno@clisp.org> + fclose tests: EBADF tests. + * tests/test-fclose.c (main): Add tests for EBADF. + fflush tests: EBADF tests. * tests/test-fflush.c: Include errno.h, macros.h. (main): Add tests for EBADF.
--- a/tests/test-fclose.c +++ b/tests/test-fclose.c @@ -76,12 +76,35 @@ /* Test that fclose() sets errno if someone else closes the stream fd behind the back of stdio. */ - f = fdopen (fd, "w+"); - ASSERT (f); - ASSERT (close (fd) == 0); - errno = 0; - ASSERT (fclose (f) == EOF); - ASSERT (errno == EBADF); + { + FILE *fp = fdopen (fd, "w+"); + ASSERT (fp != NULL); + ASSERT (close (fd) == 0); + errno = 0; + ASSERT (fclose (fp) == EOF); + ASSERT (errno == EBADF); + } + + /* Test that fclose() sets errno if the stream was constructed with + an invalid file descriptor. */ + { + FILE *fp = fdopen (-1, "r"); + if (fp != NULL) + { + errno = 0; + ASSERT (fclose (fp) == EOF); + ASSERT (errno == EBADF); + } + } + { + FILE *fp = fdopen (99, "r"); + if (fp != NULL) + { + errno = 0; + ASSERT (fclose (fp) == EOF); + ASSERT (errno == EBADF); + } + } /* Clean up. */ ASSERT (remove (BASE) == 0);