Subject: Re: [PATCH 1/2] more tests for git rev-parse --parse-opt

From: Johannes Sixt <[email-masked]>
Date: Wed, 10 Jun 2009 12:37:32 +0200

Uwe Kleine-König schrieb:
> 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.

The problem is more likely that there are shells that dislike heredocs in
eval'ed expressions. But we use such constructs already in other tests, so
it should not matter a lot. Since you are modifying the code anyway, you
can "do it right".

> -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
>  '

You use the same input in this and all new tests; make this:

cat > optionspec <<EOF
...
EOF

test_expect_success 'test --parseopt help output' '
	git rev-parse --parseopt -- -h 2> output.err < optionspec &&
	test_cmp expect.err output.err

(note the added &&).

-- Hannes