Thread (6 messages) flat view 6 messages, 2 authors, 2016-06-16

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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help