# HG changeset patch # User Paul Eggert # Date 1367274100 25200 # Node ID 160b88fd46910c7a14a38294f7ba6d026456ceec # Parent f9ba1e745bd93fbae6f3b8c8887115350657ff5a tests: don't assume getdtablesize () <= 10000000 * modules/cloexec-tests: * modules/dup2-tests: * modules/dup3-tests: * modules/nonblocking-tests: * modules/posix_spawn_file_actions_addclose-tests: * modules/posix_spawn_file_actions_adddup2-tests: * modules/posix_spawn_file_actions_addopen-tests: * modules/unistd-safer-tests: Depend on the getdtablesize module. * tests/test-cloexec.c: * tests/test-dup-safer.c: * tests/test-dup2.c: * tests/test-dup3.c: * tests/test-fcntl.c: * tests/test-nonblocking.c: * tests/test-posix_spawn_file_actions_addclose.c: * tests/test-posix_spawn_file_actions_adddup2.c: * tests/test-posix_spawn_file_actions_addopen.c: Don't assume getdtablesize () <= 10000000. diff -r f9ba1e745bd9 -r 160b88fd4691 ChangeLog --- a/ChangeLog Sun Apr 28 20:45:48 2013 -0700 +++ b/ChangeLog Mon Apr 29 15:21:40 2013 -0700 @@ -1,3 +1,26 @@ +2013-04-29 Paul Eggert + + tests: don't assume getdtablesize () <= 10000000 + * modules/cloexec-tests: + * modules/dup2-tests: + * modules/dup3-tests: + * modules/nonblocking-tests: + * modules/posix_spawn_file_actions_addclose-tests: + * modules/posix_spawn_file_actions_adddup2-tests: + * modules/posix_spawn_file_actions_addopen-tests: + * modules/unistd-safer-tests: + Depend on the getdtablesize module. + * tests/test-cloexec.c: + * tests/test-dup-safer.c: + * tests/test-dup2.c: + * tests/test-dup3.c: + * tests/test-fcntl.c: + * tests/test-nonblocking.c: + * tests/test-posix_spawn_file_actions_addclose.c: + * tests/test-posix_spawn_file_actions_adddup2.c: + * tests/test-posix_spawn_file_actions_addopen.c: + Don't assume getdtablesize () <= 10000000. + 2013-04-28 Paul Eggert extern-inline: work around bug in Sun c99 diff -r f9ba1e745bd9 -r 160b88fd4691 modules/cloexec-tests --- a/modules/cloexec-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/cloexec-tests Mon Apr 29 15:21:40 2013 -0700 @@ -4,6 +4,7 @@ Depends-on: binary-io +getdtablesize msvc-nothrow configure.ac: diff -r f9ba1e745bd9 -r 160b88fd4691 modules/dup2-tests --- a/modules/dup2-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/dup2-tests Mon Apr 29 15:21:40 2013 -0700 @@ -7,6 +7,7 @@ binary-io close fcntl-h +getdtablesize msvc-nothrow open diff -r f9ba1e745bd9 -r 160b88fd4691 modules/dup3-tests --- a/modules/dup3-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/dup3-tests Mon Apr 29 15:21:40 2013 -0700 @@ -4,6 +4,7 @@ tests/macros.h Depends-on: +getdtablesize msvc-nothrow open close diff -r f9ba1e745bd9 -r 160b88fd4691 modules/nonblocking-tests --- a/modules/nonblocking-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/nonblocking-tests Mon Apr 29 15:21:40 2013 -0700 @@ -4,6 +4,7 @@ Depends-on: close +getdtablesize pipe-posix nonblocking-pipe-tests nonblocking-socket-tests diff -r f9ba1e745bd9 -r 160b88fd4691 modules/posix_spawn_file_actions_addclose-tests --- a/modules/posix_spawn_file_actions_addclose-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/posix_spawn_file_actions_addclose-tests Mon Apr 29 15:21:40 2013 -0700 @@ -4,6 +4,7 @@ tests/macros.h Depends-on: +getdtablesize posix_spawn_file_actions_init configure.ac: diff -r f9ba1e745bd9 -r 160b88fd4691 modules/posix_spawn_file_actions_adddup2-tests --- a/modules/posix_spawn_file_actions_adddup2-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/posix_spawn_file_actions_adddup2-tests Mon Apr 29 15:21:40 2013 -0700 @@ -4,6 +4,7 @@ tests/macros.h Depends-on: +getdtablesize posix_spawn_file_actions_init configure.ac: diff -r f9ba1e745bd9 -r 160b88fd4691 modules/posix_spawn_file_actions_addopen-tests --- a/modules/posix_spawn_file_actions_addopen-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/posix_spawn_file_actions_addopen-tests Mon Apr 29 15:21:40 2013 -0700 @@ -4,6 +4,7 @@ tests/macros.h Depends-on: +getdtablesize posix_spawn_file_actions_init configure.ac: diff -r f9ba1e745bd9 -r 160b88fd4691 modules/unistd-safer-tests --- a/modules/unistd-safer-tests Sun Apr 28 20:45:48 2013 -0700 +++ b/modules/unistd-safer-tests Mon Apr 29 15:21:40 2013 -0700 @@ -8,6 +8,7 @@ close dup fd-safer-flag +getdtablesize msvc-nothrow stdbool diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-cloexec.c --- a/tests/test-cloexec.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-cloexec.c Mon Apr 29 15:21:40 2013 -0700 @@ -78,6 +78,7 @@ const char *file = "test-cloexec.tmp"; int fd = creat (file, 0600); int fd2; + int bad_fd = getdtablesize (); /* Assume std descriptors were provided by invoker. */ ASSERT (STDERR_FILENO < fd); @@ -120,7 +121,7 @@ ASSERT (set_cloexec_flag (-1, false) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (set_cloexec_flag (10000000, false) == -1); + ASSERT (set_cloexec_flag (bad_fd, false) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (set_cloexec_flag (fd2, false) == -1); @@ -129,7 +130,7 @@ ASSERT (dup_cloexec (-1) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (dup_cloexec (10000000) == -1); + ASSERT (dup_cloexec (bad_fd) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (dup_cloexec (fd2) == -1); diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-dup-safer.c --- a/tests/test-dup-safer.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-dup-safer.c Mon Apr 29 15:21:40 2013 -0700 @@ -24,6 +24,7 @@ #include #include #include +#include #include "binary-io.h" #include "cloexec.h" @@ -107,6 +108,7 @@ { int i; int fd; + int bad_fd = getdtablesize (); /* We close fd 2 later, so save it in fd 10. */ if (dup2 (STDERR_FILENO, BACKUP_STDERR_FILENO) != BACKUP_STDERR_FILENO @@ -129,7 +131,7 @@ ASSERT (dup (-1) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (dup (10000000) == -1); + ASSERT (dup (bad_fd) == -1); ASSERT (errno == EBADF); close (fd + 1); errno = 0; diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-dup2.c --- a/tests/test-dup2.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-dup2.c Mon Apr 29 15:21:40 2013 -0700 @@ -26,6 +26,10 @@ #include #include +#if HAVE_SYS_RESOURCE_H +# include +#endif + #include "binary-io.h" #if GNULIB_TEST_CLOEXEC @@ -103,6 +107,7 @@ { const char *file = "test-dup2.tmp"; char buffer[1]; + int bad_fd = getdtablesize (); int fd = open (file, O_CREAT | O_TRUNC | O_RDWR, 0600); /* Assume std descriptors were provided by invoker. */ @@ -146,7 +151,7 @@ ASSERT (dup2 (fd, -2) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (dup2 (fd, 10000000) == -1); + ASSERT (dup2 (fd, bad_fd) == -1); ASSERT (errno == EBADF); /* Using dup2 can skip fds. */ diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-dup3.c --- a/tests/test-dup3.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-dup3.c Mon Apr 29 15:21:40 2013 -0700 @@ -76,6 +76,7 @@ main () { int use_cloexec; + int bad_fd = getdtablesize (); #if O_CLOEXEC for (use_cloexec = 0; use_cloexec <= 1; use_cloexec++) @@ -124,7 +125,7 @@ ASSERT (dup3 (fd, -2, o_flags) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (dup3 (fd, 10000000, o_flags) == -1); + ASSERT (dup3 (fd, bad_fd, o_flags) == -1); ASSERT (errno == EBADF); /* Using dup3 can skip fds. */ diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-fcntl.c --- a/tests/test-fcntl.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-fcntl.c Mon Apr 29 15:21:40 2013 -0700 @@ -211,6 +211,7 @@ { const char *file = "test-fcntl.tmp"; int fd; + int bad_fd = getdtablesize (); /* Sanity check that rpl_fcntl is likely to work. */ ASSERT (func2 (1, 2) == 2); @@ -237,7 +238,7 @@ ASSERT (fcntl (fd + 1, F_DUPFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_DUPFD, 0) == -1); + ASSERT (fcntl (bad_fd, F_DUPFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; ASSERT (fcntl (-1, F_DUPFD_CLOEXEC, 0) == -1); @@ -246,23 +247,21 @@ ASSERT (fcntl (fd + 1, F_DUPFD_CLOEXEC, 0) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_DUPFD_CLOEXEC, 0) == -1); + ASSERT (fcntl (bad_fd, F_DUPFD_CLOEXEC, 0) == -1); ASSERT (errno == EBADF); /* For F_DUPFD*, the destination must be valid. */ - ASSERT (getdtablesize () < 10000000); errno = 0; ASSERT (fcntl (fd, F_DUPFD, -1) == -1); ASSERT (errno == EINVAL); errno = 0; - ASSERT (fcntl (fd, F_DUPFD, 10000000) == -1); + ASSERT (fcntl (fd, F_DUPFD, bad_fd) == -1); ASSERT (errno == EINVAL); - ASSERT (getdtablesize () < 10000000); errno = 0; ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, -1) == -1); ASSERT (errno == EINVAL); errno = 0; - ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, 10000000) == -1); + ASSERT (fcntl (fd, F_DUPFD_CLOEXEC, bad_fd) == -1); ASSERT (errno == EINVAL); /* For F_DUPFD*, check for correct inheritance, as well as @@ -322,7 +321,7 @@ ASSERT (fcntl (fd + 1, F_GETFD) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_GETFD) == -1); + ASSERT (fcntl (bad_fd, F_GETFD) == -1); ASSERT (errno == EBADF); /* Test F_GETFD, the FD_CLOEXEC bit. */ @@ -346,7 +345,7 @@ ASSERT (fcntl (fd + 1, F_SETFD, 0) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_SETFD, 0) == -1); + ASSERT (fcntl (bad_fd, F_SETFD, 0) == -1); ASSERT (errno == EBADF); #endif @@ -359,7 +358,7 @@ ASSERT (fcntl (fd + 1, F_GETFL) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_GETFL) == -1); + ASSERT (fcntl (bad_fd, F_GETFL) == -1); ASSERT (errno == EBADF); #endif @@ -372,7 +371,7 @@ ASSERT (fcntl (fd + 1, F_SETFL, 0) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_SETFL, 0) == -1); + ASSERT (fcntl (bad_fd, F_SETFL, 0) == -1); ASSERT (errno == EBADF); #endif @@ -385,7 +384,7 @@ ASSERT (fcntl (fd + 1, F_GETOWN) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_GETOWN) == -1); + ASSERT (fcntl (bad_fd, F_GETOWN) == -1); ASSERT (errno == EBADF); #endif @@ -398,7 +397,7 @@ ASSERT (fcntl (fd + 1, F_SETOWN, 0) == -1); ASSERT (errno == EBADF); errno = 0; - ASSERT (fcntl (10000000, F_SETOWN, 0) == -1); + ASSERT (fcntl (bad_fd, F_SETOWN, 0) == -1); ASSERT (errno == EBADF); #endif diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-nonblocking.c --- a/tests/test-nonblocking.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-nonblocking.c Mon Apr 29 15:21:40 2013 -0700 @@ -124,7 +124,7 @@ } { errno = 0; - ASSERT (set_nonblocking_flag (10000000, false) == -1); + ASSERT (set_nonblocking_flag (getdtablesize (), false) == -1); ASSERT (errno == EBADF); } diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-posix_spawn_file_actions_addclose.c --- a/tests/test-posix_spawn_file_actions_addclose.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-posix_spawn_file_actions_addclose.c Mon Apr 29 15:21:40 2013 -0700 @@ -23,6 +23,7 @@ (posix_spawn_file_actions_t *, int)); #include +#include #include "macros.h" @@ -40,7 +41,8 @@ } { errno = 0; - ASSERT (posix_spawn_file_actions_addclose (&actions, 10000000) == EBADF); + ASSERT (posix_spawn_file_actions_addclose (&actions, getdtablesize ()) + == EBADF); } return 0; diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-posix_spawn_file_actions_adddup2.c --- a/tests/test-posix_spawn_file_actions_adddup2.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-posix_spawn_file_actions_adddup2.c Mon Apr 29 15:21:40 2013 -0700 @@ -23,12 +23,14 @@ (posix_spawn_file_actions_t *, int, int)); #include +#include #include "macros.h" int main (void) { + int bad_fd = getdtablesize (); posix_spawn_file_actions_t actions; ASSERT (posix_spawn_file_actions_init (&actions) == 0); @@ -40,7 +42,7 @@ } { errno = 0; - ASSERT (posix_spawn_file_actions_adddup2 (&actions, 10000000, 2) == EBADF); + ASSERT (posix_spawn_file_actions_adddup2 (&actions, bad_fd, 2) == EBADF); } { errno = 0; @@ -48,7 +50,7 @@ } { errno = 0; - ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, 10000000) == EBADF); + ASSERT (posix_spawn_file_actions_adddup2 (&actions, 2, bad_fd) == EBADF); } return 0; diff -r f9ba1e745bd9 -r 160b88fd4691 tests/test-posix_spawn_file_actions_addopen.c --- a/tests/test-posix_spawn_file_actions_addopen.c Sun Apr 28 20:45:48 2013 -0700 +++ b/tests/test-posix_spawn_file_actions_addopen.c Mon Apr 29 15:21:40 2013 -0700 @@ -25,6 +25,7 @@ #include #include +#include #include "macros.h" @@ -44,7 +45,7 @@ } { errno = 0; - ASSERT (posix_spawn_file_actions_addopen (&actions, 10000000, + ASSERT (posix_spawn_file_actions_addopen (&actions, getdtablesize (), "foo", 0, O_RDONLY) == EBADF); }