]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t7401-submodule-summary.sh
Merge branch 'ss/submodule-summary-in-c'
[thirdparty/git.git] / t / t7401-submodule-summary.sh
index 45c5d2424e341384d513cf387a05df43fc979e67..76088147089c9bacdf0cb9f7cb570c55c1ec3f4d 100755 (executable)
@@ -5,12 +5,17 @@
 
 test_description='Summary support for submodules
 
-This test tries to verify the sanity of summary subcommand of git submodule.
+This test script tries to verify the sanity of summary subcommand of git submodule.
 '
+
 # NOTE: This test script uses 'git add' instead of 'git submodule add' to add
 # submodules to the superproject. Some submodule subcommands such as init and
 # deinit might not work as expected in this script. t7421 does not have this
 # caveat.
+#
+# NEEDSWORK: This test script is old fashioned and may need a big cleanup due to
+# various reasons, one of them being that there are lots of commands taking place
+# outside of 'test_expect_success' block, which is no longer in good-style.
 
 . ./test-lib.sh
 
@@ -20,12 +25,12 @@ add_file () {
        owd=$(pwd)
        cd "$sm"
        for name; do
-               echo "$name" > "$name" &&
+               echo "$name" >"$name" &&
                git add "$name" &&
                test_tick &&
                git commit -m "Add $name"
        done >/dev/null
-       git rev-parse --verify HEAD | cut -c1-7
+       git rev-parse --short HEAD
        cd "$owd"
 }
 commit_file () {
@@ -42,10 +47,10 @@ test_expect_success 'added submodule' "
        git add sm1 &&
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 0000000...$head1 (2):
-  > Add foo2
+       * sm1 0000000...$head1 (2):
+         > Add foo2
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -56,10 +61,10 @@ test_expect_success 'added submodule (subdirectory)' "
                git submodule summary >../actual
        ) &&
        cat >expected <<-EOF &&
-* ../sm1 0000000...$head1 (2):
-  > Add foo2
+       * ../sm1 0000000...$head1 (2):
+         > Add foo2
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -77,10 +82,10 @@ test_expect_success 'added submodule (subdirectory with explicit path)' "
                git submodule summary ../sm1 >../actual
        ) &&
        cat >expected <<-EOF &&
-* ../sm1 0000000...$head1 (2):
-  > Add foo2
+       * ../sm1 0000000...$head1 (2):
+         > Add foo2
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -90,20 +95,20 @@ head2=$(add_file sm1 foo3)
 test_expect_success 'modified submodule(forward)' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head1...$head2 (1):
-  > Add foo3
+       * sm1 $head1...$head2 (1):
+         > Add foo3
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
 test_expect_success 'modified submodule(forward), --files' "
        git submodule summary --files >actual &&
        cat >expected <<-EOF &&
-* sm1 $head1...$head2 (1):
-  > Add foo3
+       * sm1 $head1...$head2 (1):
+         > Add foo3
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -114,10 +119,10 @@ test_expect_success 'no ignore=all setting has any effect' "
        git config diff.ignoreSubmodules all &&
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head1...$head2 (1):
-  > Add foo3
+       * sm1 $head1...$head2 (1):
+         > Add foo3
 
-EOF
+       EOF
        test_cmp expected actual &&
        git config --unset diff.ignoreSubmodules &&
        git config --remove-section submodule.sm1 &&
@@ -129,17 +134,17 @@ commit_file sm1 &&
 head3=$(
        cd sm1 &&
        git reset --hard HEAD~2 >/dev/null &&
-       git rev-parse --verify HEAD | cut -c1-7
+       git rev-parse --short HEAD
 )
 
 test_expect_success 'modified submodule(backward)' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head2...$head3 (2):
-  < Add foo3
-  < Add foo2
+       * sm1 $head2...$head3 (2):
+         < Add foo3
+         < Add foo2
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -148,25 +153,25 @@ head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD)
 test_expect_success 'modified submodule(backward and forward)' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head2...$head4 (4):
-  > Add foo5
-  > Add foo4
-  < Add foo3
-  < Add foo2
+       * sm1 $head2...$head4 (4):
+         > Add foo5
+         > Add foo4
+         < Add foo3
+         < Add foo2
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
 test_expect_success '--summary-limit' "
        git submodule summary -n 3 >actual &&
        cat >expected <<-EOF &&
-* sm1 $head2...$head4 (4):
-  > Add foo5
-  > Add foo4
-  < Add foo3
+       * sm1 $head2...$head4 (4):
+         > Add foo5
+         > Add foo4
+         < Add foo3
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -181,21 +186,21 @@ mv sm1-bak sm1
 test_expect_success 'typechanged submodule(submodule->blob), --cached' "
        git submodule summary --cached >actual &&
        cat >expected <<-EOF &&
-* sm1 $head4(submodule)->$head5(blob) (3):
-  < Add foo5
+       * sm1 $head4(submodule)->$head5(blob) (3):
+         < Add foo5
 
-EOF
-       test_i18ncmp actual expected
+       EOF
+       test_i18ncmp expected actual
 "
 
 test_expect_success 'typechanged submodule(submodule->blob), --files' "
        git submodule summary --files >actual &&
        cat >expected <<-EOF &&
-* sm1 $head5(blob)->$head4(submodule) (3):
-  > Add foo5
+       * sm1 $head5(blob)->$head4(submodule) (3):
+         > Add foo5
 
-EOF
-       test_i18ncmp actual expected
+       EOF
+       test_i18ncmp expected actual
 "
 
 rm -rf sm1 &&
@@ -203,10 +208,10 @@ git checkout-index sm1
 test_expect_success 'typechanged submodule(submodule->blob)' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head4(submodule)->$head5(blob):
+       * sm1 $head4(submodule)->$head5(blob):
 
-EOF
-       test_i18ncmp actual expected
+       EOF
+       test_i18ncmp expected actual
 "
 
 rm -f sm1 &&
@@ -215,21 +220,21 @@ head6=$(add_file sm1 foo6 foo7)
 test_expect_success 'nonexistent commit' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head4...$head6:
-  Warn: sm1 doesn't contain commit $head4_full
+       * sm1 $head4...$head6:
+         Warn: sm1 doesn't contain commit $head4_full
 
-EOF
-       test_i18ncmp actual expected
+       EOF
+       test_i18ncmp expected actual
 "
 
 commit_file
 test_expect_success 'typechanged submodule(blob->submodule)' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head5(blob)->$head6(submodule) (2):
-  > Add foo7
+       * sm1 $head5(blob)->$head6(submodule) (2):
+         > Add foo7
 
-EOF
+       EOF
        test_i18ncmp expected actual
 "
 
@@ -238,9 +243,9 @@ rm -rf sm1
 test_expect_success 'deleted submodule' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head6...0000000:
+       * sm1 $head6...0000000:
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -253,22 +258,22 @@ test_expect_success 'create second submodule' '
 test_expect_success 'multiple submodules' "
        git submodule summary >actual &&
        cat >expected <<-EOF &&
-* sm1 $head6...0000000:
+       * sm1 $head6...0000000:
 
-* sm2 0000000...$head7 (2):
-  > Add foo9
+       * sm2 0000000...$head7 (2):
+         > Add foo9
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
 test_expect_success 'path filter' "
        git submodule summary sm2 >actual &&
        cat >expected <<-EOF &&
-* sm2 0000000...$head7 (2):
-  > Add foo9
+       * sm2 0000000...$head7 (2):
+         > Add foo9
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
@@ -276,24 +281,24 @@ commit_file sm2
 test_expect_success 'given commit' "
        git submodule summary HEAD^ >actual &&
        cat >expected <<-EOF &&
-* sm1 $head6...0000000:
+       * sm1 $head6...0000000:
 
-* sm2 0000000...$head7 (2):
-  > Add foo9
+       * sm2 0000000...$head7 (2):
+         > Add foo9
 
-EOF
+       EOF
        test_cmp expected actual
 "
 
 test_expect_success '--for-status' "
        git submodule summary --for-status HEAD^ >actual &&
-       test_i18ncmp actual - <<EOF
-* sm1 $head6...0000000:
+       test_i18ncmp - actual <<-EOF
+       * sm1 $head6...0000000:
 
-* sm2 0000000...$head7 (2):
-  > Add foo9
+       * sm2 0000000...$head7 (2):
+         > Add foo9
 
-EOF
+       EOF
 "
 
 test_expect_success 'fail when using --files together with --cached' "