test-lib: parse options in a for loop to keep $@ intact
[gitweb.git] / t / t4027-diff-submodule.sh
index 518bf9524e0b55181f3c440d202b69c12a0b314f..9aa8e2b39b45a6c2b5ec48a9d98b94831edb2caa 100755 (executable)
@@ -31,7 +31,7 @@ test_expect_success setup '
                cd sub &&
                git rev-list HEAD
        ) &&
-       echo ":160000 160000 $3 $_z40 M sub" >expect &&
+       echo ":160000 160000 $3 $ZERO_OID M     sub" >expect &&
        subtip=$3 subprev=$2
 '
 
@@ -104,48 +104,19 @@ test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match)'
        expect_from_to >expect.body $subprev $subprev-dirty &&
        test_cmp expect.body actual.body &&
        git diff --ignore-submodules HEAD >actual2 &&
-       ! test -s actual2 &&
+       test_must_be_empty actual2 &&
        git diff --ignore-submodules=untracked HEAD >actual3 &&
        sed -e "1,/^@@/d" actual3 >actual3.body &&
        expect_from_to >expect.body $subprev $subprev-dirty &&
        test_cmp expect.body actual3.body &&
        git diff --ignore-submodules=dirty HEAD >actual4 &&
-       ! test -s actual4
-'
-
-test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match) [.git/config]' '
-       git config diff.ignoreSubmodules all &&
-       git diff HEAD >actual &&
-       ! test -s actual &&
-       git config submodule.subname.ignore none &&
-       git config submodule.subname.path sub &&
-       git diff HEAD >actual &&
-       sed -e "1,/^@@/d" actual >actual.body &&
-       expect_from_to >expect.body $subprev $subprev-dirty &&
-       test_cmp expect.body actual.body &&
-       git config submodule.subname.ignore all &&
-       git diff HEAD >actual2 &&
-       ! test -s actual2 &&
-       git config submodule.subname.ignore untracked &&
-       git diff HEAD >actual3 &&
-       sed -e "1,/^@@/d" actual3 >actual3.body &&
-       expect_from_to >expect.body $subprev $subprev-dirty &&
-       test_cmp expect.body actual3.body &&
-       git config submodule.subname.ignore dirty &&
-       git diff HEAD >actual4 &&
-       ! test -s actual4 &&
-       git diff HEAD --ignore-submodules=none >actual &&
-       sed -e "1,/^@@/d" actual >actual.body &&
-       expect_from_to >expect.body $subprev $subprev-dirty &&
-       test_cmp expect.body actual.body &&
-       git config --remove-section submodule.subname &&
-       git config --unset diff.ignoreSubmodules
+       test_must_be_empty actual4
 '
 
 test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match) [.gitmodules]' '
        git config diff.ignoreSubmodules dirty &&
        git diff HEAD >actual &&
-       ! test -s actual &&
+       test_must_be_empty actual &&
        git config --add -f .gitmodules submodule.subname.ignore none &&
        git config --add -f .gitmodules submodule.subname.path sub &&
        git diff HEAD >actual &&
@@ -155,7 +126,7 @@ test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match)
        git config -f .gitmodules submodule.subname.ignore all &&
        git config -f .gitmodules submodule.subname.path sub &&
        git diff HEAD >actual2 &&
-       ! test -s actual2 &&
+       test_must_be_empty actual2 &&
        git config -f .gitmodules submodule.subname.ignore untracked &&
        git diff HEAD >actual3 &&
        sed -e "1,/^@@/d" actual3 >actual3.body &&
@@ -163,7 +134,7 @@ test_expect_success 'git diff HEAD with dirty submodule (work tree, refs match)
        test_cmp expect.body actual3.body &&
        git config -f .gitmodules submodule.subname.ignore dirty &&
        git diff HEAD >actual4 &&
-       ! test -s actual4 &&
+       test_must_be_empty actual4 &&
        git config submodule.subname.ignore none &&
        git config submodule.subname.path sub &&
        git diff HEAD >actual &&
@@ -201,42 +172,24 @@ test_expect_success 'git diff HEAD with dirty submodule (untracked, refs match)'
        expect_from_to >expect.body $subprev $subprev-dirty &&
        test_cmp expect.body actual.body &&
        git diff --ignore-submodules=all HEAD >actual2 &&
-       ! test -s actual2 &&
+       test_must_be_empty actual2 &&
        git diff --ignore-submodules=untracked HEAD >actual3 &&
-       ! test -s actual3 &&
+       test_must_be_empty actual3 &&
        git diff --ignore-submodules=dirty HEAD >actual4 &&
-       ! test -s actual4
-'
-
-test_expect_success 'git diff HEAD with dirty submodule (untracked, refs match) [.git/config]' '
-       git config submodule.subname.ignore all &&
-       git config submodule.subname.path sub &&
-       git diff HEAD >actual2 &&
-       ! test -s actual2 &&
-       git config submodule.subname.ignore untracked &&
-       git diff HEAD >actual3 &&
-       ! test -s actual3 &&
-       git config submodule.subname.ignore dirty &&
-       git diff HEAD >actual4 &&
-       ! test -s actual4 &&
-       git diff --ignore-submodules=none HEAD >actual &&
-       sed -e "1,/^@@/d" actual >actual.body &&
-       expect_from_to >expect.body $subprev $subprev-dirty &&
-       test_cmp expect.body actual.body &&
-       git config --remove-section submodule.subname
+       test_must_be_empty actual4
 '
 
 test_expect_success 'git diff HEAD with dirty submodule (untracked, refs match) [.gitmodules]' '
        git config --add -f .gitmodules submodule.subname.ignore all &&
        git config --add -f .gitmodules submodule.subname.path sub &&
        git diff HEAD >actual2 &&
-       ! test -s actual2 &&
+       test_must_be_empty actual2 &&
        git config -f .gitmodules submodule.subname.ignore untracked &&
        git diff HEAD >actual3 &&
-       ! test -s actual3 &&
+       test_must_be_empty actual3 &&
        git config -f .gitmodules submodule.subname.ignore dirty &&
        git diff HEAD >actual4 &&
-       ! test -s actual4 &&
+       test_must_be_empty actual4 &&
        git config submodule.subname.ignore none &&
        git config submodule.subname.path sub &&
        git diff HEAD >actual &&
@@ -258,27 +211,7 @@ test_expect_success 'git diff between submodule commits' '
        expect_from_to >expect.body $subtip $subprev &&
        test_cmp expect.body actual.body &&
        git diff --ignore-submodules HEAD^..HEAD >actual &&
-       ! test -s actual
-'
-
-test_expect_success 'git diff between submodule commits [.git/config]' '
-       git diff HEAD^..HEAD >actual &&
-       sed -e "1,/^@@/d" actual >actual.body &&
-       expect_from_to >expect.body $subtip $subprev &&
-       test_cmp expect.body actual.body &&
-       git config submodule.subname.ignore dirty &&
-       git config submodule.subname.path sub &&
-       git diff HEAD^..HEAD >actual &&
-       sed -e "1,/^@@/d" actual >actual.body &&
-       expect_from_to >expect.body $subtip $subprev &&
-       test_cmp expect.body actual.body &&
-       git config submodule.subname.ignore all &&
-       git diff HEAD^..HEAD >actual &&
-       ! test -s actual &&
-       git diff --ignore-submodules=dirty HEAD^..HEAD >actual &&
-       sed -e "1,/^@@/d" actual >actual.body &&
-       expect_from_to >expect.body $subtip $subprev &&
-       git config --remove-section submodule.subname
+       test_must_be_empty actual
 '
 
 test_expect_success 'git diff between submodule commits [.gitmodules]' '
@@ -294,7 +227,7 @@ test_expect_success 'git diff between submodule commits [.gitmodules]' '
        test_cmp expect.body actual.body &&
        git config -f .gitmodules submodule.subname.ignore all &&
        git diff HEAD^..HEAD >actual &&
-       ! test -s actual &&
+       test_must_be_empty actual &&
        git config submodule.subname.ignore dirty &&
        git config submodule.subname.path sub &&
        git diff  HEAD^..HEAD >actual &&
@@ -306,10 +239,9 @@ test_expect_success 'git diff between submodule commits [.gitmodules]' '
 '
 
 test_expect_success 'git diff (empty submodule dir)' '
-       : >empty &&
        rm -rf sub/* sub/.git &&
        git diff > actual.empty &&
-       test_cmp empty actual.empty
+       test_must_be_empty actual.empty
 '
 
 test_expect_success 'conflicted submodule setup' '
@@ -317,7 +249,7 @@ test_expect_success 'conflicted submodule setup' '
        # 39 efs
        c=fffffffffffffffffffffffffffffffffffffff &&
        (
-               echo "000000 $_z40 0    sub" &&
+               echo "000000 $ZERO_OID 0        sub" &&
                echo "160000 1$c 1      sub" &&
                echo "160000 2$c 2      sub" &&
                echo "160000 3$c 3      sub"
@@ -332,7 +264,7 @@ index 2ffffff,3ffffff..0000000
 ++Subproject commit 0000000000000000000000000000000000000000'\'' &&
 
        hh=$(git rev-parse HEAD) &&
-       sed -e "s/$_z40/$hh/" expect.nosub >expect.withsub
+       sed -e "s/$ZERO_OID/$hh/" expect.nosub >expect.withsub
 
 '