bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: one dependency too much


From: Eric Blake
Subject: Re: one dependency too much
Date: Mon, 28 Dec 2009 06:27:42 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Bruno Haible on 12/26/2009 11:59 AM:
> * The dependency of dup2-tests on 'cloexec' could be removed if the
>   relevant (small) part of the test would be enclosed in
>      #ifdef GNULIB_CLOEXEC
>   so that it is skipped if the cloexec module is not present. coreutils
>   does include the 'cloexec' module, therefore at least the coreutils users
>   will still have a 100% check of dup2.

Seems reasonable.  I'll push this.

> 
> * The dependency of dup2-tests on 'open' can safely be removed because the
>   file to be opened is "test-dup2.tmp", which does not trigger any of the
>   problems listed in doc/posix-functions/open.texi.

No, the test also does 'open ("/dev/null",...)', which _does_ require the
open module.

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAks4skkACgkQ84KuGfSFAYA4gQCgqUoyDHPFidJeWfejKrwMibra
yeoAoM9txAV0APabpmSIko2LkGdBLei/
=qWBj
-----END PGP SIGNATURE-----
>From e3fe72a2748b3caaf36bfd8de6c2736e83f561b8 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Mon, 28 Dec 2009 06:24:04 -0700
Subject: [PATCH] test-dup2: reduce dependencies

dup2 is fully if the cloexec module is in use, but dragging in
cloexec just to test whether an fd is valid was a bit much.

* 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 <address@hidden>
---
 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 dff3b9b..88be6c7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2009-12-28  Eric Blake  <address@hidden>
+
+       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-11-17  Eric Blake  <address@hidden>

        manywarnings: add more warnings
diff --git a/modules/cloexec b/modules/cloexec
index 88fb6d3..d590d1e 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 679f4b1..a973fd7 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 d3751f5..b65fcad 100644
--- a/tests/test-dup2.c
+++ b/tests/test-dup2.c
@@ -27,7 +27,10 @@ SIGNATURE_CHECK (dup2, int, (int, int));
 #include <fcntl.h>

 #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.  */
-- 
1.6.4.2


reply via email to

[Prev in Thread] Current Thread [Next in Thread]