If the shell test loop first finds a marginal then a good shell, the
variable $gl_set_x_corrupts_stderr is still set to true and needlessly
drops $VERBOSE logging.

* tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
shell.

Signed-off-by: Eric Blake <ebl...@redhat.com>
---
 ChangeLog     |    6 ++++++
 tests/init.sh |    5 ++++-
 2 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b7be3f3..2047b73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-24  Eric Blake  <ebl...@redhat.com>
+
+       tests: fix logic bug in init.sh
+       * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
+       shell.
+
 2011-05-24  Jim Meyering  <meyer...@redhat.com>

        opendir-safer.c: don't clobber errno; don't close negative FD
diff --git a/tests/init.sh b/tests/init.sh
index 71c6516..294dcdd 100644
--- a/tests/init.sh
+++ b/tests/init.sh
@@ -167,7 +167,10 @@ else
     st_=$?

     # $re_shell_ works just fine.  Use it.
-    test $st_ = 10 && break
+    if test $st_ = 10; then
+      gl_set_x_corrupts_stderr_=false
+      break
+    fi

     # If this is our first marginally acceptable shell, remember it.
     if test "$st_:$marginal_" = 9: ; then
-- 
1.7.4.4


Reply via email to