Re: [GSoC][PATCH v2 5/5] t0000-basic: use test_line_count instead of wc -l
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Mar 10, 2019, 09:50 UTC
- Message-ID
- <CAPig+cSMZrQFrLXoO5KE1uonUxmnYHikr-e6GAq_n6vx3+sPJA@mail.gmail.com>
- In-Reply-To
- <20190310081106.64239-1-ttjtftx@gmail.com>
On Sun, Mar 10, 2019 at 4:11 AM Jonathan Chang <ttjtftx@gmail.com> wrote:
Show 8 quoted lines
> Signed-off-by: Jonathan Chang <ttjtftx@gmail.com> > > diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh > @@ -1136,8 +1136,8 @@ test_expect_success 'git commit-tree omits duplicated parent in a commit' ' > - numparent=$(sed -n -e "s/^parent //p" -e "/^author /q" actual | wc -l) && > - test $numparent = 1 > + sed -n -e "s/^parent //p" -e "/^author /q" actual | wc -l >numparent && > + test_line_count = 1 numparent
This transformation makes no sense. The output of 'sed' is fed to 'wc -l' whose output is redirected to file "numparent", which means that the output file will end up containing a single line no matter how many "parent" lines are matched in the input. Since test_line_count() checks the number of lines in the named file, the test will succeed unconditionally (which makes for a pretty poor test).
Also, the filename "numparent" doesn't do a good job of representing what the file is expected to contain. A better name might be "parents". So, a more correct transformation would be:
sed -n -e "s/^parent //p" -e "/^author /q" actual >parents &&
test_line_count = 1 parentsShow 5 quoted lines
> @@ -1146,8 +1146,8 @@ test_expect_success 'update-index D/F conflict' ' > - numpath0=$(wc -l <actual) && > - test $numpath0 = 1 > + wc -l <actual >numpath0 && > + test_line_count = 1 numpath0
Same comment about bogus transformation. The entire sequence should collapse to a single line:
test_line_count = 1 actual