t9902: protect test from stray build artifacts
commit5047822347f8d7ad453ad0ea5cbff542569fb7a6
authorJunio C Hamano <gitster@pobox.com>
Thu, 24 Jan 2013 23:08:37 +0000 (24 15:08 -0800)
committerJunio C Hamano <gitster@pobox.com>
Thu, 24 Jan 2013 23:08:37 +0000 (24 15:08 -0800)
tree7f24f06cdf072ce182e01a285526d565773135c8
parentb344bb19358bcf8cf62c28ce205fdfd8acfa6b6b
t9902: protect test from stray build artifacts

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
t/t9902-completion.sh