Re: t4151 missing quotes
From: Armin Kunaschik <hidden>
Date: 2016-06-16 02:19:16
Sorry, this was my first patch to the list. I'll do better :-) You are right about the "wc -l" parts. Maybe I was a bit over pessimistic. Throw away my last mail. In my case test 9 ran unsuccessful because of an empty "git ls-files -u" This reduces the diff to this one (hopefully the right way now): *** ./t4151-am-abort.sh.orig Fri Apr 29 23:37:00 2016
--- ./t4151-am-abort.sh Mon May 9 18:28:18 2016***************
*** 82,88 ****
test 4 = "$(cat otherfile-4)" &&
git am --abort &&
test_cmp_rev initial HEAD &&
! test -z $(git ls-files -u) &&
test_path_is_missing otherfile-4
'
--- 82,88 ----
test 4 = "$(cat otherfile-4)" &&
git am --abort &&
test_cmp_rev initial HEAD &&! test -z "$(git ls-files -u)" &&
test_path_is_missing otherfile-4
'
All the other similar occurrences are correctly quoted.
On Mon, May 9, 2016 at 6:22 PM, Eric Sunshine [off-list ref] wrote:On Mon, May 9, 2016 at 12:09 PM, Armin Kunaschik [off-list ref] wrote:quoted
skipping through some failed tests I found more (smaller) problems inside the test... when test arguments are empty they need to be quoted (quite a lot test in this sentence). Error is like t4151-am-abort.sh[5]: test: argument expected My patch: *** t4151-am-abort.sh Mon May 9 17:51:44 2016--- t4151-am-abort.sh.orig Fri Apr 29 23:37:00 2016*************** *** 67,73 **** test_expect_success 'am -3 --skip removes otherfile-4' ' git reset --hard initial && test_must_fail git am -3 0003-*.patch && ! test 3 -eq "$(git ls-files -u | wc -l)" && test 4 = "$(cat otherfile-4)" && git am --skip && test_cmp_rev initial HEAD &&--- 67,73 ---- test_expect_success 'am -3 --skip removes otherfile-4' ' git reset --hard initial && test_must_fail git am -3 0003-*.patch &&! test 3 -eq $(git ls-files -u | wc -l) && test 4 = "$(cat otherfile-4)" && git am --skip && test_cmp_rev initial HEAD && ***************Some comments: Quoting the output of 'wc -l' will break the tests on Mac OS X and BSD since the output contains leading whitespace which won't match the "3" on the other side of the '='. Your diff is backward, comparing 'current' against 'original', which makes it difficult to read. Reviewers on this list expect to see 'original' compared against 'current'. Use a unified format to make the diff easier to read; or just use git-diff or git-format patch, which is even simpler. It's not clear how the output of 'wc -l' could ever be the empty string. Perhaps git-ls-files is dying and causing the pipe to abort before 'wc -l' ever outputs anything? Without additional information about the problem you're experiencing, it's difficult to judge if this change is a good idea.