X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=tests%2Ftest-fdopendir.c;h=b578a5c5e0f91c1ad84e8184f94888edee84fbd7;hb=60573660307a386a933de834a06c37691120e507;hp=003a279725d4373589413127122f1076d162d8b0;hpb=d1aa3e40286ed2b0ad1045b326a37167ac5d8847;p=gnulib.git diff --git a/tests/test-fdopendir.c b/tests/test-fdopendir.c index 003a27972..b578a5c5e 100644 --- a/tests/test-fdopendir.c +++ b/tests/test-fdopendir.c @@ -1,5 +1,5 @@ /* Test opening a directory stream from a file descriptor. - 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,42 +20,44 @@ #include +#include "signature.h" +SIGNATURE_CHECK (fdopendir, DIR *, (int)); + #include #include -#include -#include #include -#define ASSERT(expr) \ - do \ - { \ - if (!(expr)) \ - { \ - fprintf (stderr, "%s:%d: assertion failed\n", __FILE__, __LINE__); \ - fflush (stderr); \ - abort (); \ - } \ - } \ - while (0) +#include "progname.h" +#include "macros.h" int -main () +main (int argc _GL_UNUSED, char *argv[]) { DIR *d; int fd; + set_program_name (argv[0]); + /* A non-directory cannot be turned into a directory stream. */ - fd = open ("/dev/null", O_RDONLY); + fd = open ("test-fdopendir.tmp", O_RDONLY | O_CREAT, 0600); ASSERT (0 <= fd); errno = 0; ASSERT (fdopendir (fd) == NULL); ASSERT (errno == ENOTDIR); ASSERT (close (fd) == 0); + ASSERT (unlink ("test-fdopendir.tmp") == 0); /* A bad fd cannot be turned into a stream. */ - errno = 0; - ASSERT (fdopendir (-1) == NULL); - ASSERT (errno == EBADF); + { + errno = 0; + ASSERT (fdopendir (-1) == NULL); + ASSERT (errno == EBADF); + } + { + errno = 0; + ASSERT (fdopendir (99) == NULL); + ASSERT (errno == EBADF); + } /* This should work. */ fd = open (".", O_RDONLY);