From 1d0664a751fdfdcae30e22a5e6bd82f442111b36 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 28 Dec 2009 06:24:04 -0700 Subject: [PATCH] test-dup2: reduce dependencies dup2 is fully tested if the cloexec module is in use, but it is also used in a number of modules where dragging in cloexec is over the top for just using dup2 to test whether an fd is valid. * modules/cloexec (Configure.ac): Set witness. * modules/dup2-tests (Depends-on): Drop cloexec. * tests/test-dup2.c (main): Skip portion of test if cloexec module not present. Suggested by Bruno Haible. Signed-off-by: Eric Blake --- ChangeLog | 9 +++++++++ modules/cloexec | 1 + modules/dup2-tests | 1 - tests/test-dup2.c | 7 ++++++- 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5e309e66a..76060df2d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2009-12-28 Eric Blake + + test-dup2: reduce dependencies + * modules/cloexec (Configure.ac): Set witness. + * modules/dup2-tests (Depends-on): Drop cloexec. + * tests/test-dup2.c (main): Skip portion of test if cloexec module + not present. + Suggested by Bruno Haible. + 2009-12-26 Bruno Haible Remove an unneeded dependency. diff --git a/modules/cloexec b/modules/cloexec index 88fb6d3cf..d590d1e6b 100644 --- a/modules/cloexec +++ b/modules/cloexec @@ -13,6 +13,7 @@ stdbool configure.ac: gl_CLOEXEC +gl_MODULE_INDICATOR([cloexec]) Makefile.am: diff --git a/modules/dup2-tests b/modules/dup2-tests index 679f4b15e..a973fd75e 100644 --- a/modules/dup2-tests +++ b/modules/dup2-tests @@ -5,7 +5,6 @@ tests/macros.h Depends-on: binary-io -cloexec open configure.ac: diff --git a/tests/test-dup2.c b/tests/test-dup2.c index d3751f5c4..b65fcad61 100644 --- a/tests/test-dup2.c +++ b/tests/test-dup2.c @@ -27,7 +27,10 @@ SIGNATURE_CHECK (dup2, int, (int, int)); #include #include "binary-io.h" -#include "cloexec.h" + +#if GNULIB_CLOEXEC +# include "cloexec.h" +#endif #if (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__ /* Get declarations of the Win32 API functions. */ @@ -156,6 +159,7 @@ main (void) ASSERT (read (fd, buffer, 1) == 1); ASSERT (*buffer == '2'); +#if GNULIB_CLOEXEC /* Any new fd created by dup2 must not be cloexec. */ ASSERT (close (fd + 2) == 0); ASSERT (dup_cloexec (fd) == fd + 1); @@ -164,6 +168,7 @@ main (void) ASSERT (!is_inheritable (fd + 1)); ASSERT (dup2 (fd + 1, fd + 2) == fd + 2); ASSERT (is_inheritable (fd + 2)); +#endif /* On systems that distinguish between text and binary mode, dup2 reuses the mode of the source. */ -- 2.11.0