[libvirt] [PATCH] test: fix commantest under autobuild.sh

Eric Blake eblake at redhat.com
Fri Dec 10 22:34:46 UTC 2010


* tests/commandtest.c (mymain): Kill off any leaked-in fds.
* autobuild.sh: Don't leak fds.

Signed-off-by: Eric Blake <eblake at redhat.com>
---

Autobuild failed because it triggered a commandtest failure where
commandtest was too sensitive to the environment.  Fix the problem
at both ends - autobuild shouldn't leak, and commandtest should
work even when somebody else leaked.

 autobuild.sh        |    2 +-
 tests/commandtest.c |    6 ++++++
 2 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/autobuild.sh b/autobuild.sh
index 8248a59..91e2ab2 100755
--- a/autobuild.sh
+++ b/autobuild.sh
@@ -38,7 +38,7 @@ make install
 exec 3>&1
 st=$(
   exec 4>&1 >&3
-  { make check syntax-check 2>&1; echo $? >&4; } | tee "$RESULTS"
+  { make check syntax-check 2>&1 3>&- 4>&-; echo $? >&4; } | tee "$RESULTS"
 )
 exec 3>&-
 test "$st" = 0
diff --git a/tests/commandtest.c b/tests/commandtest.c
index a1bcf68..333dd4d 100644
--- a/tests/commandtest.c
+++ b/tests/commandtest.c
@@ -688,6 +688,12 @@ mymain(int argc, char **argv)
     if (chdir("/tmp") < 0)
         return(EXIT_FAILURE);

+    /* Kill off any inherited fds that might interfere with our
+     * testing.  */
+    close(3);
+    close(4);
+    close(5);
+
     virInitialize();

     const char *const newenv[] = {
-- 
1.7.3.2




More information about the libvir-list mailing list