* tests/commandtest.c (mymain): Kill off any leaked-in fds.
* autobuild.sh: Don't leak fds.
Signed-off-by: Eric Blake <eblake(a)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