t: fix some trivial cases of ignored exit codes in loops
authorJeff King <peff@peff.net>
Wed, 25 Mar 2015 05:29:52 +0000 (01:29 -0400)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Mar 2015 17:25:27 +0000 (10:25 -0700)
These are all cases where we do a setup step of the form:

for i in $foo; do
set_up $i || break
done &&
more_setup

would not notice a failure in set_up (because break always
returns a 0 exit code). These are just setup steps that we
do not expect to fail, but it does not hurt to be defensive.

Most can be fixed by converting the "break" to a "return 1"
(since we eval our tests inside a function for just this
purpose). A few of the loops are inside subshells, so we can
use just "exit 1" to break out of the subshell. And a few
can actually be made shorter by just unrolling the loop.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3010-ls-files-killed-modified.sh
t/t3031-merge-criscross.sh
t/t3202-show-branch-octopus.sh
t/t4024-diff-optimize-common.sh
t/t4046-diff-unmerged.sh
t/t4151-am-abort.sh
t/t5505-remote.sh
t/t5514-fetch-multiple.sh
t/t6026-merge-attr.sh
t/t6040-tracking-info.sh
index 62fce103f9cc2509c642fd5c900dc0b60b1710d9..580e158f9918bcaf86224ce8743894da67266096 100755 (executable)
@@ -55,13 +55,10 @@ test_expect_success 'git update-index --add to add various paths.' '
        : >path9 &&
        date >path10 &&
        git update-index --add -- path0 path?/file? pathx/ju path7 path8 path9 path10 &&
-       for i in 1 2
-       do
-               git init submod$i &&
-               (
-                       cd submod$i && git commit --allow-empty -m "empty $i"
-               ) || break
-       done &&
+       git init submod1 &&
+       git -C submod1 commit --allow-empty -m "empty 1" &&
+       git init submod2 &&
+       git -C submod2 commit --allow-empty -m "empty 2" &&
        git update-index --add submod[12] &&
        (
                cd submod1 &&
index 7f41607c569866e493e162e5078ff741bd520d09..e59b0a32d67ec86074059eee7a64c4b7bae6c145 100755 (executable)
@@ -32,7 +32,7 @@ test_expect_success 'setup repo with criss-cross history' '
        do
                echo $n > data/$n &&
                n=$(($n+1)) ||
-               break
+               return 1
        done &&
 
        # check them in
index 0a5d5e669fac2e3be513df4f27c1f0a6560796db..6adf47869c468a98ce41bc3dd1396b81dc50af3f 100755 (executable)
@@ -19,7 +19,7 @@ test_expect_success 'setup' '
                > file$i &&
                git add file$i &&
                test_tick &&
-               git commit -m branch$i || break
+               git commit -m branch$i || return 1
        done
 
 '
index c4d733f5db6a4d390762505b770954cdbf6cc82f..7e76018296c8f0c51b7187c96330d6e0a70a2fe4 100755 (executable)
@@ -139,7 +139,7 @@ test_expect_success setup '
                ( printf C; zs $n ) >file-c$n &&
                ( echo D; zs $n ) >file-d$n &&
 
-               expect_pattern $n || break
+               expect_pattern $n || return 1
 
        done >expect
 '
index 25d50a654a8904396cfc0078745dd45034aacce2..d0f14475ca99b596fbe4addb4f8c543d07944ea5 100755 (executable)
@@ -8,7 +8,7 @@ test_expect_success setup '
        do
                blob=$(echo $i | git hash-object --stdin) &&
                eval "blob$i=$blob" &&
-               eval "m$i=\"100644 \$blob$i $i\"" || break
+               eval "m$i=\"100644 \$blob$i $i\"" || return 1
        done &&
        paths= &&
        for b in o x
@@ -24,9 +24,9 @@ test_expect_success setup '
                                case "$b" in x) echo "$m1$p" ;; esac &&
                                case "$o" in x) echo "$m2$p" ;; esac &&
                                case "$t" in x) echo "$m3$p" ;; esac ||
-                               break
-                       done || break
-               done || break
+                               return 1
+                       done
+               done
        done >ls-files-s.expect &&
        git update-index --index-info <ls-files-s.expect &&
        git ls-files -s >ls-files-s.actual &&
index 1176bcccf3b3f3708df04f49bfd084190cd27600..8d90634ab81b3d24326c519a8bae52c2e2cb3ac0 100755 (executable)
@@ -20,7 +20,7 @@ test_expect_success setup '
                echo $i >otherfile-$i &&
                git add otherfile-$i &&
                test_tick &&
-               git commit -a -m $i || break
+               git commit -a -m $i || return 1
        done &&
        git format-patch --no-numbered initial &&
        git checkout -b side initial &&
index 17c6330f988ecc98735307fbfd8bded5283feb61..7a8499ce665c74961fdbf6713c0b70c37f95f5e3 100755 (executable)
@@ -579,7 +579,7 @@ test_expect_success 'update with arguments' '
                cd one &&
                for b in $(git branch -r)
                do
-               git branch -r -d $b || break
+               git branch -r -d $b || exit 1
                done &&
                git remote add manduca ../mirror &&
                git remote add megaloprepus ../mirror &&
@@ -622,7 +622,7 @@ test_expect_success 'update default' '
                cd one &&
                for b in $(git branch -r)
                do
-               git branch -r -d $b || break
+               git branch -r -d $b || exit 1
                done &&
                git config remote.drosophila.skipDefaultUpdate true &&
                git remote update default &&
@@ -642,7 +642,7 @@ test_expect_success 'update default (overridden, with funny whitespace)' '
                cd one &&
                for b in $(git branch -r)
                do
-               git branch -r -d $b || break
+               git branch -r -d $b || exit 1
                done &&
                git config remotes.default "$(printf "\t drosophila  \n")" &&
                git remote update default &&
@@ -656,7 +656,7 @@ test_expect_success 'update (with remotes.default defined)' '
                cd one &&
                for b in $(git branch -r)
                do
-               git branch -r -d $b || break
+               git branch -r -d $b || exit 1
                done &&
                git config remotes.default "drosophila" &&
                git remote update &&
index 0f8140957f8080f4a9f3283a1cfef7f3798ae454..4b4b6673b8fe25d96044cdc5d1196b191a7ae0e9 100755 (executable)
@@ -120,7 +120,7 @@ test_expect_success 'git fetch --all (skipFetchAll)' '
        (cd test4 &&
         for b in $(git branch -r)
         do
-               git branch -r -d $b || break
+               git branch -r -d $b || exit 1
         done &&
         git remote add three ../three &&
         git config remote.three.skipFetchAll true &&
@@ -144,7 +144,7 @@ test_expect_success 'git fetch --multiple (ignoring skipFetchAll)' '
        (cd test4 &&
         for b in $(git branch -r)
         do
-               git branch -r -d $b || break
+               git branch -r -d $b || exit 1
         done &&
         git fetch --multiple one two three &&
         git branch -r > output &&
index 5e439972bea358f700ded4266df31f7dc4514800..3c21938a6891feb61f821bc46ff8f09f1ee009d1 100755 (executable)
@@ -11,7 +11,7 @@ test_expect_success setup '
 
        for f in text binary union
        do
-               echo Initial >$f && git add $f || break
+               echo Initial >$f && git add $f || return 1
        done &&
        test_tick &&
        git commit -m Initial &&
@@ -19,7 +19,7 @@ test_expect_success setup '
        git branch side &&
        for f in text binary union
        do
-               echo Master >>$f && git add $f || break
+               echo Master >>$f && git add $f || return 1
        done &&
        test_tick &&
        git commit -m Master &&
@@ -27,7 +27,7 @@ test_expect_success setup '
        git checkout side &&
        for f in text binary union
        do
-               echo Side >>$f && git add $f || break
+               echo Side >>$f && git add $f || return 1
        done &&
        test_tick &&
        git commit -m Side &&
index 7ac8fd06c3905da3481a4f5cafbf4edaf499771c..3d5c238c8150c13b1244f8c4208856714265245a 100755 (executable)
@@ -12,10 +12,9 @@ advance () {
 }
 
 test_expect_success setup '
-       for i in a b c;
-       do
-               advance $i || break
-       done &&
+       advance a &&
+       advance b &&
+       advance c &&
        git clone . test &&
        (
                cd test &&