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' '