diff options
author | Junio C Hamano <gitster@pobox.com> | 2009-07-06 20:38:01 +0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-07-06 20:38:01 +0400 |
commit | 5cacf3d64437c235610ce4f426ce6359d483c924 (patch) | |
tree | 3868eab46e78716410d22674585bc55d2723fadb /t | |
parent | 3115fe9821912f67d1774cb2e33bcb2ffc162916 (diff) | |
parent | 6e0800ef2575751f2e20d11e2cfe305304e5e9b8 (diff) |
Merge branch 'uk/rev-parse-parse-opt'
* uk/rev-parse-parse-opt:
parse-opt: make PARSE_OPT_STOP_AT_NON_OPTION available to git rev-parse
more tests for git rev-parse --parse-opt
Diffstat (limited to 't')
-rwxr-xr-x | t/t1502-rev-parse-parseopt.sh | 43 |
1 files changed, 41 insertions, 2 deletions
diff --git a/t/t1502-rev-parse-parseopt.sh b/t/t1502-rev-parse-parseopt.sh index 997002d4c4..e504058062 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 +cat > optionspec << EOF some-command [options] <args>... some-command does foo and bar! @@ -37,7 +36,47 @@ C? option C with an optional argument Extras extra1 line above used to cause a segfault but no longer does EOF + +test_expect_success 'test --parseopt help output' ' + git rev-parse --parseopt -- -h 2> output.err < optionspec 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 < optionspec > output && + test_cmp expect output +' + +test_expect_success 'test --parseopt with mixed options and arguments' ' + git rev-parse --parseopt -- --foo arg --bar=ham < optionspec > output && + 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 < optionspec > output && + test_cmp expect output +' + +test_expect_success 'test --parseopt --stop-at-non-option' ' + git rev-parse --parseopt --stop-at-non-option -- --foo arg --bar=ham < optionspec > output && + 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 < optionspec > output && + test_cmp expect output +' + test_done |