[PATCH 1/2] more tests for git rev-parse --parse-opt
- From
Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
- Date
- Jun 10, 2009, 09:42 UTC
- Message-ID
- <1244626926-19841-1-git-send-email-u.kleine-koenig@pengutronix.de>
- In-Reply-To
- <7vzlcgr088.fsf@alter.siamese.dyndns.org>
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- Hello,
I'm not completely sure that it's portable to use input redirection and && together---at least it looks a bit ugly. Probably you know better.
Best regards Uwe
t/t1502-rev-parse-parseopt.sh | 48 +++++++++++++++++++++++++++++++++++++++- 1 files changed, 46 insertions(+), 2 deletions(-)
diff --git a/t/t1502-rev-parse-parseopt.sh b/t/t1502-rev-parse-parseopt.sh index 997002d..081812b 100755 --- a/t/t1502-rev-parse-parseopt.sh +++ b/t/t1502-rev-parse-parseopt.sh @@ -20,8 +20,7 @@ Extras EOF -test_expect_success 'test --parseopt help output' ' - git rev-parse --parseopt -- -h 2> output.err <<EOF +OPTION_SPEC="\ some-command [options] <args>... some-command does foo and bar! @@ -36,8 +35,53 @@ C? option C with an optional argument Extras extra1 line above used to cause a segfault but no longer does +" + +test_expect_success 'test --parseopt help output' ' + git rev-parse --parseopt -- -h 2> output.err <<EOF +$OPTION_SPEC EOF test_cmp expect.err output.err ' +cat > expect <<EOF +set -- --foo --bar 'ham' -- 'arg' +EOF + +test_expect_success 'test --parseopt' ' + git rev-parse --parseopt -- --foo --bar=ham arg << EOF > output && +$OPTION_SPEC +EOF + test_cmp expect output +' + +test_expect_success 'test --parseopt with mixed options and arguments' ' + git rev-parse --parseopt -- --foo arg --bar=ham << EOF > output && +$OPTION_SPEC +EOF + test_cmp expect output +' + +cat > expect <<EOF +set -- --foo -- 'arg' '--bar=ham' +EOF + +test_expect_success 'test --parseopt with --' ' + git rev-parse --parseopt -- --foo -- arg --bar=ham << EOF > output && +$OPTION_SPEC +EOF + test_cmp expect output +' + +cat > expect <<EOF +set -- --foo -- '--' 'arg' '--bar=ham' +EOF + +test_expect_success 'test --parseopt --keep-dashdash' ' + git rev-parse --parseopt --keep-dashdash -- --foo -- arg --bar=ham << EOF > output && +$OPTION_SPEC +EOF + test_cmp expect output +' + test_done
-- 1.6.3.1