t4014: use test_line_count() where possible

Convert all instances of `cnt=$(... | wc -l) && test $cnt = N` into uses of `test_line_count()`. While we're at it, convert one instance of a Git command upstream of a pipe into two commands. This prevents a failure of a Git command from being masked since only the return code of the last member of the pipe is shown. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Denton Liu committed Aug 27, 2019 at 00:05 UTC 6bd26f58ea27914547ff65f367a3b60f77a4d183
1 file changed +19 -16
t/t4014-format-patch.sh
+19 -16
@@ -60,23 +60,23 @@ test_expect_success setup '
60
61 test_expect_success 'format-patch --ignore-if-in-upstream' '
62 git format-patch --stdout master..side >patch0 &&
63 - cnt=$(grep "^From " patch0 | wc -l) &&
64 - test $cnt = 3
63 + grep "^From " patch0 >from0 &&
64 + test_line_count = 3 from0
65 '
66
67 test_expect_success 'format-patch --ignore-if-in-upstream' '
68 git format-patch --stdout \
69 --ignore-if-in-upstream master..side >patch1 &&
70 - cnt=$(grep "^From " patch1 | wc -l) &&
71 - test $cnt = 2
70 + grep "^From " patch1 >from1 &&
71 + test_line_count = 2 from1
72 '
73
74 test_expect_success 'format-patch --ignore-if-in-upstream handles tags' '
75 git tag -a v1 -m tag side &&
76 git tag -a v2 -m tag master &&
77 git format-patch --stdout --ignore-if-in-upstream v2..v1 >patch1 &&
78 - cnt=$(grep "^From " patch1 | wc -l) &&
79 - test $cnt = 2
78 + grep "^From " patch1 >from1 &&
79 + test_line_count = 2 from1
80 '
81
82 test_expect_success "format-patch doesn't consider merge commits" '
@@ -90,22 +90,23 @@ test_expect_success "format-patch doesn't consider merge commits" '
90 git checkout -b merger master &&
91 test_tick &&
92 git merge --no-ff slave &&
93 - cnt=$(git format-patch -3 --stdout | grep "^From " | wc -l) &&
94 - test $cnt = 3
93 + git format-patch -3 --stdout >patch &&
94 + grep "^From " patch >from &&
95 + test_line_count = 3 from
96 '
97
98 test_expect_success 'format-patch result applies' '
99 git checkout -b rebuild-0 master &&
100 git am -3 patch0 &&
100 - cnt=$(git rev-list master.. | wc -l) &&
101 - test $cnt = 2
101 + git rev-list master.. >list &&
102 + test_line_count = 2 list
103 '
104
105 test_expect_success 'format-patch --ignore-if-in-upstream result applies' '
106 git checkout -b rebuild-1 master &&
107 git am -3 patch1 &&
107 - cnt=$(git rev-list master.. | wc -l) &&
108 - test $cnt = 2
108 + git rev-list master.. >list &&
109 + test_line_count = 2 list
110 '
111
112 test_expect_success 'commit did not screw up the log message' '
@@ -795,7 +796,8 @@ test_expect_success 'options no longer allowed for format-patch' '
796
797 test_expect_success 'format-patch --numstat should produce a patch' '
798 git format-patch --numstat --stdout master..side >output &&
798 - test 5 = $(grep "^diff --git a/" output | wc -l)
799 + grep "^diff --git a/" output >diff &&
800 + test_line_count = 5 diff
801 '
802
803 test_expect_success 'format-patch -- <path>' '
@@ -852,8 +854,8 @@ test_expect_success 'format-patch --signature --cover-letter' '
854 git config --unset-all format.signature &&
855 git format-patch --stdout --signature="my sig" --cover-letter \
856 -1 >output &&
855 - grep "my sig" output &&
856 - test 2 = $(grep "my sig" output | wc -l)
857 + grep "my sig" output >sig &&
858 + test_line_count = 2 sig
859 '
860
861 test_expect_success 'format.signature="" suppresses signatures' '
@@ -1591,7 +1593,8 @@ test_expect_success 'format-patch format.outputDirectory option' '
1593 test_config format.outputDirectory patches &&
1594 rm -fr patches &&
1595 git format-patch master..side &&
1594 - test $(git rev-list master..side | wc -l) -eq $(ls patches | wc -l)
1596 + git rev-list master..side >list &&
1597 + test_line_count = $(ls patches | wc -l) list
1598 '
1599
1600 test_expect_success 'format-patch -o overrides format.outputDirectory' '