t: simplify loop exit-code status variables
authorJeff King <peff@peff.net>
Wed, 25 Mar 2015 05:30:17 +0000 (01:30 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Mar 2015 19:49:33 +0000 (12:49 -0700)
Since shell loops may drop the exit code of failed commands
inside the loop, some tests try to keep track of the status
by setting a variable. This can end up cumbersome and hard
to read; it is much simpler to just exit directly from the
loop using "return 1" (since each case is either in a helper
function or inside a test snippet).

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3060-ls-files-with-tree.sh
t/t3901-i18n-patch.sh
index 61c1f53d1b75302be60396d2e01ccd5da5b6e5b4..44f378ce41d2f6a151b04759e930ef8f09242343 100755 (executable)
@@ -18,22 +18,16 @@ test_expect_success setup '
 
        echo file >expected &&
        mkdir sub &&
-       bad= &&
        for n in 0 1 2 3 4 5
        do
                for m in 0 1 2 3 4 5 6 7 8 9
                do
                        num=00$n$m &&
                        >sub/file-$num &&
-                       echo file-$num >>expected || {
-                               bad=t
-                               break
-                       }
-               done && test -z "$bad" || {
-                       bad=t
-                       break
-               }
-       done && test -z "$bad" &&
+                       echo file-$num >>expected ||
+                       return 1
+               done
+       done &&
        git add . &&
        git commit -m "add a bunch of files" &&
 
index a392f3d1d66757361ff9fc4e26f4125da5ab0a4f..75cf3ff9bdf909b9083266553773884f1f9abb52 100755 (executable)
@@ -9,7 +9,7 @@ test_description='i18n settings and format-patch | am pipe'
 
 check_encoding () {
        # Make sure characters are not corrupted
-       cnt="$1" header="$2" i=1 j=0 bad=0
+       cnt="$1" header="$2" i=1 j=0
        while test "$i" -le $cnt
        do
                git format-patch --encoding=UTF-8 --stdout HEAD~$i..HEAD~$j |
@@ -20,14 +20,10 @@ check_encoding () {
                        grep "^encoding ISO8859-1" ;;
                *)
                        grep "^encoding ISO8859-1"; test "$?" != 0 ;;
-               esac || {
-                       bad=1
-                       break
-               }
+               esac || return 1
                j=$i
                i=$(($i+1))
        done
-       (exit $bad)
 }
 
 test_expect_success setup '