tests: fix logic bug in init.sh
authorEric Blake <eblake@redhat.com>
Tue, 24 May 2011 16:04:46 +0000 (10:04 -0600)
committerIan Beckwith <ianb@erislabs.net>
Thu, 9 Jun 2011 18:50:51 +0000 (19:50 +0100)
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 <eblake@redhat.com>
(cherry picked from commit 866bbaee7bf64b5f54b2b3d566552782dfb514dd)

ChangeLog
tests/init.sh

index c801958..5218311 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-05-24  Eric Blake  <eblake@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  <meyering@redhat.com>
 
        utimensat: do not reference an out-of-scope buffer
@@ -5,8 +11,8 @@
        declared in an inner scope, yet "times" would be dereferenced outside
        the scope in which "ts" was valid.
        * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
-       of ts[2] "out/up", so that the use of aliased "times" (via "times = ts;")
-       does not end up referencing an out-of-scope "ts"
+       of ts[2] "out/up", so that the use of aliased "times" (via
+       "times = ts;") does not end up referencing an out-of-scope "ts"
 
        opendir-safer.c: don't clobber errno; don't close negative FD
        * lib/opendir-safer.c (opendir_safer):
index 71c6516..294dcdd 100644 (file)
@@ -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