diff options
author | Jay Soffian <jaysoffian@gmail.com> | 2008-02-25 23:07:39 -0500 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-02-25 21:40:12 -0800 |
commit | e103343644188ddddb3678f0568d150ca56f59e3 (patch) | |
tree | 90bd52d7f2b9cf74eb62b80da5acb0065fae4cd6 /t/t1502-rev-parse-parseopt.sh | |
parent | 1468bd47833c6ec3c85620d6af1d910e9378f714 (diff) | |
download | git-e103343644188ddddb3678f0568d150ca56f59e3.tar.gz |
rev-parse: fix potential bus error with --parseopt option spec handling
A non-empty line containing no spaces should be treated by --parseopt as
an option group header, but was causing a bus error. Also added a test
script for rev-parse --parseopt.
Signed-off-by: Jay Soffian <jaysoffian@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t1502-rev-parse-parseopt.sh')
-rwxr-xr-x | t/t1502-rev-parse-parseopt.sh | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/t/t1502-rev-parse-parseopt.sh b/t/t1502-rev-parse-parseopt.sh new file mode 100755 index 0000000000..762af5faf7 --- /dev/null +++ b/t/t1502-rev-parse-parseopt.sh @@ -0,0 +1,43 @@ +#!/bin/sh + +test_description='test git rev-parse --parseopt' +. ./test-lib.sh + +cat > expect.err <<EOF +usage: some-command [options] <args>... + + some-command does foo and bar! + + -h, --help show the help + --foo some nifty option --foo + --bar ... some cool option --bar with an argument + +An option group Header + -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 <<EOF +some-command [options] <args>... + +some-command does foo and bar! +-- +h,help show the help + +foo some nifty option --foo +bar= some cool option --bar with an argument + + An option group Header +C? option C with an optional argument + +Extras +extra1 line above used to cause a segfault but no longer does +EOF + git diff expect.err output.err +' + +test_done |