Re: [PATCH] t9902: protect test from stray build artifacts
- From
Jeff King <peff@peff.net>
- Date
- Jan 25, 2013, 01:13 UTC
- Message-ID
- <20130125011349.GB27657@sigill.intra.peff.net>
- In-Reply-To
- <7vehha89j5.fsf_-_@alter.siamese.dyndns.org>
On Thu, Jan 24, 2013 at 03:07:42PM -0800, Junio C Hamano wrote:
Show 21 quoted lines
> When you have random build artifacts in your build directory, left > behind by running "make" while on another branch, the "git help -a" > command run by __git_list_all_commands in the completion script that > is being tested does not have a way to know that they are not part > of the subcommands this build will ship. Such extra subcommands may > come from the user's $PATH. They will interfere with the tests that > expect a certain prefix to uniquely expand to a known completion. > > Instrument the completion script and give it a way for us to tell > what (subset of) subcommands we are going to ship. > > Also add a test to "git --help <prefix><TAB>" expansion. It needs > to show not just commands but some selected documentation pages. > > Based on an idea by Jeff King. > > Signed-off-by: Junio C Hamano <gitster@pobox.com> > --- > contrib/completion/git-completion.bash | 11 ++++++++++- > t/t9902-completion.sh | 25 ++++++++++++++++++++++++- > 2 files changed, 34 insertions(+), 2 deletions(-)
This looks good to me.
The only thing I might add is a test just to double-check that "git help -a" is parsed correctly. Like:
test_expect_success 'command completion works without test harness' '
GIT_TESTING_COMMAND_COMPLETION= run_completion "git bun" &&
grep "^bundle\$" out
'(we know we are running bash here, so the one-shot variable is OK to be used with a function).
-Peff