]> git.ipfire.org Git - thirdparty/git.git/commitdiff
tests: simplify construction of large blocks of text
authorEric Sunshine <sunshine@sunshineco.com>
Thu, 9 Dec 2021 05:11:04 +0000 (00:11 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 13 Dec 2021 18:29:48 +0000 (10:29 -0800)
Take advantage of here-docs to create large blocks of text rather than
using a series of `echo` statements. Not only are here-docs a natural
fit for such a task, but there is less opportunity for a broken
&&-chain.

Signed-off-by: Eric Sunshine <sunshine@sunshineco.com>
Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0021-conversion.sh
t/t4106-apply-stdin.sh
t/t5510-fetch.sh
t/t5515-fetch-merge-logic.sh
t/t6406-merge-attr.sh
t/t6411-merge-filemode.sh
t/t7810-grep.sh

index 33dfc9cd562327b725a3338ac0e9b6787f58c9fe..1a1a69ad92fb648f0bbf3094295f2b2b6744d946 100755 (executable)
@@ -118,17 +118,17 @@ test_expect_success check '
 # If an expanded ident ever gets into the repository, we want to make sure that
 # it is collapsed before being expanded again on checkout
 test_expect_success expanded_in_repo '
-       {
-               echo "File with expanded keywords"
-               echo "\$Id\$"
-               echo "\$Id:\$"
-               echo "\$Id: 0000000000000000000000000000000000000000 \$"
-               echo "\$Id: NoSpaceAtEnd\$"
-               echo "\$Id:NoSpaceAtFront \$"
-               echo "\$Id:NoSpaceAtEitherEnd\$"
-               echo "\$Id: NoTerminatingSymbol"
-               echo "\$Id: Foreign Commit With Spaces \$"
-       } >expanded-keywords.0 &&
+       cat >expanded-keywords.0 <<-\EOF &&
+       File with expanded keywords
+       $Id$
+       $Id:$
+       $Id: 0000000000000000000000000000000000000000 $
+       $Id: NoSpaceAtEnd$
+       $Id:NoSpaceAtFront $
+       $Id:NoSpaceAtEitherEnd$
+       $Id: NoTerminatingSymbol
+       $Id: Foreign Commit With Spaces $
+       EOF
 
        {
                cat expanded-keywords.0 &&
@@ -139,17 +139,17 @@ test_expect_success expanded_in_repo '
        git commit -m "File with keywords expanded" &&
        id=$(git rev-parse --verify :expanded-keywords) &&
 
-       {
-               echo "File with expanded keywords"
-               echo "\$Id: $id \$"
-               echo "\$Id: $id \$"
-               echo "\$Id: $id \$"
-               echo "\$Id: $id \$"
-               echo "\$Id: $id \$"
-               echo "\$Id: $id \$"
-               echo "\$Id: NoTerminatingSymbol"
-               echo "\$Id: Foreign Commit With Spaces \$"
-       } >expected-output.0 &&
+       cat >expected-output.0 <<-EOF &&
+       File with expanded keywords
+       \$Id: $id \$
+       \$Id: $id \$
+       \$Id: $id \$
+       \$Id: $id \$
+       \$Id: $id \$
+       \$Id: $id \$
+       \$Id: NoTerminatingSymbol
+       \$Id: Foreign Commit With Spaces \$
+       EOF
        {
                cat expected-output.0 &&
                printf "\$Id: NoTerminatingSymbolAtEOF"
index 72467a1e8ee28c4ac2a3d532bd65b9b5503cff06..1e70810b9cd63e3d9fb70d1c56534485eba1f85a 100755 (executable)
@@ -18,7 +18,10 @@ test_expect_success 'git apply --numstat - < patch' '
 '
 
 test_expect_success 'git apply --numstat - < patch patch' '
-       for i in 1 2; do echo "1        1       text"; done >expect &&
+       cat >expect <<-\EOF &&
+       1       1       text
+       1       1       text
+       EOF
        git apply --numstat - < patch patch >actual &&
        test_cmp expect actual
 '
index a0faf0dd94909392d7fa3b263b30b2bb41d7ca35..1892d6615a6562ff08a9d7a07f0d794a66662bd3 100755 (executable)
@@ -40,11 +40,11 @@ test_expect_success "clone and setup child repos" '
                git config branch.main.remote two &&
                git config branch.main.merge refs/heads/one &&
                mkdir -p .git/remotes &&
-               {
-                       echo "URL: ../two/.git/"
-                       echo "Pull: refs/heads/main:refs/heads/two"
-                       echo "Pull: refs/heads/one:refs/heads/one"
-               } >.git/remotes/two
+               cat >.git/remotes/two <<-\EOF
+               URL: ../two/.git/
+               Pull: refs/heads/main:refs/heads/two
+               Pull: refs/heads/one:refs/heads/one
+               EOF
        ) &&
        git clone . bundle &&
        git clone . seven
index 50f14101c532d67480cd9796c797df3932d33d56..9d440e2821a6f5515f5afdcb3efbcccbe3d99ca3 100755 (executable)
@@ -105,19 +105,19 @@ test_expect_success setup '
        remotes="$remotes config-glob" &&
 
        mkdir -p .git/remotes &&
-       {
-               echo "URL: ../.git/"
-               echo "Pull: refs/heads/main:remotes/rem/main"
-               echo "Pull: refs/heads/one:remotes/rem/one"
-               echo "Pull: two:remotes/rem/two"
-               echo "Pull: refs/heads/three:remotes/rem/three"
-       } >.git/remotes/remote-explicit &&
+       cat >.git/remotes/remote-explicit <<-\EOF &&
+       URL: ../.git/
+       Pull: refs/heads/main:remotes/rem/main
+       Pull: refs/heads/one:remotes/rem/one
+       Pull: two:remotes/rem/two
+       Pull: refs/heads/three:remotes/rem/three
+       EOF
        remotes="$remotes remote-explicit" &&
 
-       {
-               echo "URL: ../.git/"
-               echo "Pull: refs/heads/*:refs/remotes/rem/*"
-       } >.git/remotes/remote-glob &&
+       cat >.git/remotes/remote-glob <<-\EOF &&
+       URL: ../.git/
+       Pull: refs/heads/*:refs/remotes/rem/*
+       EOF
        remotes="$remotes remote-glob" &&
 
        mkdir -p .git/branches &&
index 849464583713c40859d2473d2a4075367b1e4c09..57e6af5eaa09e52e9f867c957e2117cb66c46e4b 100755 (executable)
@@ -62,10 +62,10 @@ test_expect_success setup '
 
 test_expect_success merge '
 
-       {
-               echo "binary -merge"
-               echo "union merge=union"
-       } >.gitattributes &&
+       cat >.gitattributes <<-\EOF &&
+       binary -merge
+       union merge=union
+       EOF
 
        if git merge main
        then
index f54c915d6a540719329277e7c9e77a8ed4536a93..6ae2489286c278f978c3a87f1015f16fe2bb005f 100755 (executable)
@@ -51,10 +51,10 @@ test_expect_success 'set up mode change in both branches' '
        : >file2 &&
        git add file2 &&
        git commit -m b2 &&
-       {
-               echo "100755 $H 2       file2"
-               echo "100644 $H 3       file2"
-       } >expect
+       cat >expect <<-EOF
+       100755 $H 2     file2
+       100644 $H 3     file2
+       EOF
 '
 
 do_both_modes () {
index 6b6423a07c3a6e0b497e3fbd109679b38dbe3856..424c31c3287d352e135faf1754e221cc17eb8247 100755 (executable)
@@ -31,28 +31,28 @@ int main(int argc, const char **argv)
 EOF
 
 test_expect_success setup '
-       {
-               echo foo mmap bar
-               echo foo_mmap bar
-               echo foo_mmap bar mmap
-               echo foo mmap bar_mmap
-               echo foo_mmap bar mmap baz
-       } >file &&
-       {
-               echo Hello world
-               echo HeLLo world
-               echo Hello_world
-               echo HeLLo_world
-       } >hello_world &&
-       {
-               echo "a+b*c"
-               echo "a+bc"
-               echo "abc"
-       } >ab &&
-       {
-               echo d &&
-               echo 0
-       } >d0 &&
+       cat >file <<-\EOF &&
+       foo mmap bar
+       foo_mmap bar
+       foo_mmap bar mmap
+       foo mmap bar_mmap
+       foo_mmap bar mmap baz
+       EOF
+       cat >hello_world <<-\EOF &&
+       Hello world
+       HeLLo world
+       Hello_world
+       HeLLo_world
+       EOF
+       cat >ab <<-\EOF &&
+       a+b*c
+       a+bc
+       abc
+       EOF
+       cat >d0 <<-\EOF &&
+       d
+       0
+       EOF
        echo vvv >v &&
        echo ww w >w &&
        echo x x xx x >x &&
@@ -63,13 +63,13 @@ test_expect_success setup '
        echo vvv >t/v &&
        mkdir t/a &&
        echo vvv >t/a/v &&
-       {
-               echo "line without leading space1"
-               echo " line with leading space1"
-               echo " line with leading space2"
-               echo " line with leading space3"
-               echo "line without leading space2"
-       } >space &&
+       qz_to_tab_space >space <<-\EOF &&
+       line without leading space1
+       Zline with leading space1
+       Zline with leading space2
+       Zline with leading space3
+       line without leading space2
+       EOF
        cat >hello.ps1 <<-\EOF &&
        # No-op.
        function dummy() {}
@@ -106,129 +106,129 @@ do
        esac
 
        test_expect_success "grep -w $L" '
-               {
-                       echo ${HC}file:1:foo mmap bar
-                       echo ${HC}file:3:foo_mmap bar mmap
-                       echo ${HC}file:4:foo mmap bar_mmap
-                       echo ${HC}file:5:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:1:foo mmap bar
+               ${HC}file:3:foo_mmap bar mmap
+               ${HC}file:4:foo mmap bar_mmap
+               ${HC}file:5:foo_mmap bar mmap baz
+               EOF
                git -c grep.linenumber=false grep -n -w -e mmap $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L (with --column)" '
-               {
-                       echo ${HC}file:5:foo mmap bar
-                       echo ${HC}file:14:foo_mmap bar mmap
-                       echo ${HC}file:5:foo mmap bar_mmap
-                       echo ${HC}file:14:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:5:foo mmap bar
+               ${HC}file:14:foo_mmap bar mmap
+               ${HC}file:5:foo mmap bar_mmap
+               ${HC}file:14:foo_mmap bar mmap baz
+               EOF
                git grep --column -w -e mmap $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L (with --column, extended OR)" '
-               {
-                       echo ${HC}file:14:foo_mmap bar mmap
-                       echo ${HC}file:19:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:14:foo_mmap bar mmap
+               ${HC}file:19:foo_mmap bar mmap baz
+               EOF
                git grep --column -w -e mmap$ --or -e baz $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L (with --column, --invert-match)" '
-               {
-                       echo ${HC}file:1:foo mmap bar
-                       echo ${HC}file:1:foo_mmap bar
-                       echo ${HC}file:1:foo_mmap bar mmap
-                       echo ${HC}file:1:foo mmap bar_mmap
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:1:foo mmap bar
+               ${HC}file:1:foo_mmap bar
+               ${HC}file:1:foo_mmap bar mmap
+               ${HC}file:1:foo mmap bar_mmap
+               EOF
                git grep --column --invert-match -w -e baz $H -- file >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep $L (with --column, --invert-match, extended OR)" '
-               {
-                       echo ${HC}hello_world:6:HeLLo_world
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}hello_world:6:HeLLo_world
+               EOF
                git grep --column --invert-match -e ll --or --not -e _ $H -- hello_world \
                        >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep $L (with --column, --invert-match, extended AND)" '
-               {
-                       echo ${HC}hello_world:3:Hello world
-                       echo ${HC}hello_world:3:Hello_world
-                       echo ${HC}hello_world:6:HeLLo_world
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}hello_world:3:Hello world
+               ${HC}hello_world:3:Hello_world
+               ${HC}hello_world:6:HeLLo_world
+               EOF
                git grep --column --invert-match --not -e _ --and --not -e ll $H -- hello_world \
                        >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep $L (with --column, double-negation)" '
-               {
-                       echo ${HC}file:1:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:1:foo_mmap bar mmap baz
+               EOF
                git grep --column --not \( --not -e foo --or --not -e baz \) $H -- file \
                        >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L (with --column, -C)" '
-               {
-                       echo ${HC}file:5:foo mmap bar
-                       echo ${HC}file-foo_mmap bar
-                       echo ${HC}file:14:foo_mmap bar mmap
-                       echo ${HC}file:5:foo mmap bar_mmap
-                       echo ${HC}file:14:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:5:foo mmap bar
+               ${HC}file-foo_mmap bar
+               ${HC}file:14:foo_mmap bar mmap
+               ${HC}file:5:foo mmap bar_mmap
+               ${HC}file:14:foo_mmap bar mmap baz
+               EOF
                git grep --column -w -C1 -e mmap $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L (with --line-number, --column)" '
-               {
-                       echo ${HC}file:1:5:foo mmap bar
-                       echo ${HC}file:3:14:foo_mmap bar mmap
-                       echo ${HC}file:4:5:foo mmap bar_mmap
-                       echo ${HC}file:5:14:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:1:5:foo mmap bar
+               ${HC}file:3:14:foo_mmap bar mmap
+               ${HC}file:4:5:foo mmap bar_mmap
+               ${HC}file:5:14:foo_mmap bar mmap baz
+               EOF
                git grep -n --column -w -e mmap $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L (with non-extended patterns, --column)" '
-               {
-                       echo ${HC}file:5:foo mmap bar
-                       echo ${HC}file:10:foo_mmap bar
-                       echo ${HC}file:10:foo_mmap bar mmap
-                       echo ${HC}file:5:foo mmap bar_mmap
-                       echo ${HC}file:10:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:5:foo mmap bar
+               ${HC}file:10:foo_mmap bar
+               ${HC}file:10:foo_mmap bar mmap
+               ${HC}file:5:foo mmap bar_mmap
+               ${HC}file:10:foo_mmap bar mmap baz
+               EOF
                git grep --column -w -e bar -e mmap $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L" '
-               {
-                       echo ${HC}file:1:foo mmap bar
-                       echo ${HC}file:3:foo_mmap bar mmap
-                       echo ${HC}file:4:foo mmap bar_mmap
-                       echo ${HC}file:5:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:1:foo mmap bar
+               ${HC}file:3:foo_mmap bar mmap
+               ${HC}file:4:foo mmap bar_mmap
+               ${HC}file:5:foo_mmap bar mmap baz
+               EOF
                git -c grep.linenumber=true grep -w -e mmap $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L" '
-               {
-                       echo ${HC}file:foo mmap bar
-                       echo ${HC}file:foo_mmap bar mmap
-                       echo ${HC}file:foo mmap bar_mmap
-                       echo ${HC}file:foo_mmap bar mmap baz
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:foo mmap bar
+               ${HC}file:foo_mmap bar mmap
+               ${HC}file:foo mmap bar_mmap
+               ${HC}file:foo_mmap bar mmap baz
+               EOF
                git -c grep.linenumber=true grep --no-line-number -w -e mmap $H >actual &&
                test_cmp expected actual
        '
@@ -239,17 +239,17 @@ do
        '
 
        test_expect_success "grep -w $L (x)" '
-               {
-                       echo ${HC}x:1:x x xx x
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}x:1:x x xx x
+               EOF
                git grep -n -w -e "x xx* x" $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep -w $L (y-1)" '
-               {
-                       echo ${HC}y:1:y yy
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}y:1:y yy
+               EOF
                git grep -n -w -e "^y" $H >actual &&
                test_cmp expected actual
        '
@@ -277,16 +277,16 @@ do
        '
 
        test_expect_success "grep $L (with --column, --only-matching)" '
-               {
-                       echo ${HC}file:1:5:mmap
-                       echo ${HC}file:2:5:mmap
-                       echo ${HC}file:3:5:mmap
-                       echo ${HC}file:3:13:mmap
-                       echo ${HC}file:4:5:mmap
-                       echo ${HC}file:4:13:mmap
-                       echo ${HC}file:5:5:mmap
-                       echo ${HC}file:5:13:mmap
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}file:1:5:mmap
+               ${HC}file:2:5:mmap
+               ${HC}file:3:5:mmap
+               ${HC}file:3:13:mmap
+               ${HC}file:4:5:mmap
+               ${HC}file:4:13:mmap
+               ${HC}file:5:5:mmap
+               ${HC}file:5:13:mmap
+               EOF
                git grep --column -n -o -e mmap $H >actual &&
                test_cmp expected actual
        '
@@ -320,11 +320,11 @@ do
        '
 
        test_expect_success "grep --max-depth -1 $L" '
-               {
-                       echo ${HC}t/a/v:1:vvv
-                       echo ${HC}t/v:1:vvv
-                       echo ${HC}v:1:vvv
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}t/a/v:1:vvv
+               ${HC}t/v:1:vvv
+               ${HC}v:1:vvv
+               EOF
                git grep --max-depth -1 -n -e vvv $H >actual &&
                test_cmp expected actual &&
                git grep --recursive -n -e vvv $H >actual &&
@@ -332,9 +332,9 @@ do
        '
 
        test_expect_success "grep --max-depth 0 $L" '
-               {
-                       echo ${HC}v:1:vvv
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}v:1:vvv
+               EOF
                git grep --max-depth 0 -n -e vvv $H >actual &&
                test_cmp expected actual &&
                git grep --no-recursive -n -e vvv $H >actual &&
@@ -342,11 +342,11 @@ do
        '
 
        test_expect_success "grep --max-depth 0 -- '*' $L" '
-               {
-                       echo ${HC}t/a/v:1:vvv
-                       echo ${HC}t/v:1:vvv
-                       echo ${HC}v:1:vvv
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}t/a/v:1:vvv
+               ${HC}t/v:1:vvv
+               ${HC}v:1:vvv
+               EOF
                git grep --max-depth 0 -n -e vvv $H -- "*" >actual &&
                test_cmp expected actual &&
                git grep --no-recursive -n -e vvv $H -- "*" >actual &&
@@ -354,18 +354,18 @@ do
        '
 
        test_expect_success "grep --max-depth 1 $L" '
-               {
-                       echo ${HC}t/v:1:vvv
-                       echo ${HC}v:1:vvv
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}t/v:1:vvv
+               ${HC}v:1:vvv
+               EOF
                git grep --max-depth 1 -n -e vvv $H >actual &&
                test_cmp expected actual
        '
 
        test_expect_success "grep --max-depth 0 -- t $L" '
-               {
-                       echo ${HC}t/v:1:vvv
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}t/v:1:vvv
+               EOF
                git grep --max-depth 0 -n -e vvv $H -- t >actual &&
                test_cmp expected actual &&
                git grep --no-recursive -n -e vvv $H -- t >actual &&
@@ -373,10 +373,10 @@ do
        '
 
        test_expect_success "grep --max-depth 0 -- . t $L" '
-               {
-                       echo ${HC}t/v:1:vvv
-                       echo ${HC}v:1:vvv
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}t/v:1:vvv
+               ${HC}v:1:vvv
+               EOF
                git grep --max-depth 0 -n -e vvv $H -- . t >actual &&
                test_cmp expected actual &&
                git grep --no-recursive -n -e vvv $H -- . t >actual &&
@@ -384,10 +384,10 @@ do
        '
 
        test_expect_success "grep --max-depth 0 -- t . $L" '
-               {
-                       echo ${HC}t/v:1:vvv
-                       echo ${HC}v:1:vvv
-               } >expected &&
+               cat >expected <<-EOF &&
+               ${HC}t/v:1:vvv
+               ${HC}v:1:vvv
+               EOF
                git grep --max-depth 0 -n -e vvv $H -- t . >actual &&
                test_cmp expected actual &&
                git grep --no-recursive -n -e vvv $H -- t . >actual &&
@@ -1314,10 +1314,10 @@ test_expect_success PCRE 'grep -P pattern with grep.extendedRegexp=true' '
 '
 
 test_expect_success PCRE 'grep -P -v pattern' '
-       {
-               echo "ab:a+b*c"
-               echo "ab:a+bc"
-       } >expected &&
+       cat >expected <<-\EOF &&
+       ab:a+b*c
+       ab:a+bc
+       EOF
        git grep -P -v "abc" ab >actual &&
        test_cmp expected actual
 '
@@ -1331,10 +1331,10 @@ test_expect_success PCRE 'grep -P -i pattern' '
 '
 
 test_expect_success PCRE 'grep -P -w pattern' '
-       {
-               echo "hello_world:Hello world"
-               echo "hello_world:HeLLo world"
-       } >expected &&
+       cat >expected <<-\EOF &&
+       hello_world:Hello world
+       hello_world:HeLLo world
+       EOF
        git grep -P -w "He((?i)ll)o" hello_world >actual &&
        test_cmp expected actual
 '
@@ -1469,10 +1469,10 @@ test_expect_success 'grep -F pattern with grep.patternType=basic' '
 '
 
 test_expect_success 'grep -G pattern with grep.patternType=fixed' '
-       {
-               echo "ab:a+b*c"
-               echo "ab:a+bc"
-       } >expected &&
+       cat >expected <<-\EOF &&
+       ab:a+b*c
+       ab:a+bc
+       EOF
        git \
                -c grep.patterntype=fixed \
                grep -G "a+b" ab >actual &&
@@ -1480,11 +1480,11 @@ test_expect_success 'grep -G pattern with grep.patternType=fixed' '
 '
 
 test_expect_success 'grep -E pattern with grep.patternType=fixed' '
-       {
-               echo "ab:a+b*c"
-               echo "ab:a+bc"
-               echo "ab:abc"
-       } >expected &&
+       cat >expected <<-\EOF &&
+       ab:a+b*c
+       ab:a+bc
+       ab:abc
+       EOF
        git \
                -c grep.patterntype=fixed \
                grep -E "a+" ab >actual &&