Re: [PATCH 2/5] completion: fix args of run_completion() test helper
- From
Jeff King <peff@peff.net>
- Date
- Sep 28, 2012, 19:30 UTC
- Message-ID
- <20120928193008.GA3912@sigill.intra.peff.net>
- In-Reply-To
- <7vzk4aj6ik.fsf@alter.siamese.dyndns.org>
On Fri, Sep 28, 2012 at 12:23:47PM -0700, Junio C Hamano wrote:
Show 21 quoted lines
> >> > @@ -57,7 +57,7 @@ run_completion ()
> >> > test_completion ()
> >> > {
> >> > test $# -gt 1 && echo "$2" > expected
> >> > - run_completion "$@" &&
> >> > + run_completion $1 &&
> >> > test_cmp expected out
> >> > }
> >>
> >> I can understand the other three hunks, but this one is fishy.
> >> Shouldn't "$1" be inside a pair of dq? I.e.
> >>
> >> + run_completion "$1" &&
> >
> > No. $1 holds all words on the command line. If it was between a pair
> > of dq, then the whole command line would be passed to the completion
> > script as a single word.
>
> And these "words" can be split at $IFS boundaries without any
> issues? IOW, nobody would ever want to make words array in the
> run_completion function to ['git' 'foo bar' 'baz']?It might be simpler to just convert test_completion into the test_completion_long I added in my series; the latter takes the expected output on stdin, leaving the actual arguments free to represent the real command-line. E.g., your example would become:
test_completion git "foo bar" baz <<-\EOF ... expected output ... EOF
-Peff