test-parse-options: fix output when callback option fails
commitaccac4199c1d28dfd6c860b32d7111c3de8df7a6
authorJunio C Hamano <gitster@pobox.com>
Thu, 5 May 2016 20:30:10 +0000 (5 13:30 -0700)
committerJunio C Hamano <gitster@pobox.com>
Tue, 10 May 2016 19:57:48 +0000 (10 12:57 -0700)
tree1fae2f990cd808c9517a78b3cacff485469534e4
parentaaab84203b9654fb73df41d3cb71a6aad3a091fa
test-parse-options: fix output when callback option fails

When test-parse-options detects an error on the command line, it
gives the usage string just like any parse-options API users do,
without showing any "variable dump".  An exception is the callback
test, where a "variable dump" for the option is done before the
command line options are fully parsed.

Do not expose this implementation detail by separating the handling
of callback test into two phases, one to capture the fact that an
option was given during the option parsing phase, and the other to
show that fact as a part of normal "variable dump".

The effect of this fix is seen in the patch to t/t0040 where it
tried "test-parse-options --no-length" where "--length" is a callback
that does not take a negative form.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0040-parse-options.sh
test-parse-options.c