Re: [PATCH 03/10] describe tests: always assert empty stderr from "describe"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ævar Arnfjörð Bjarmason  <avarab@xxxxxxxxx> writes:

> Invert a test added in 3291fe4072e (Add git-describe test for "verify
> annotated tag names on output", 2008-03-03) to make checking that we
> don't have warnings the rule rather than the exception.
>
> There was only one case where we expected and got a warning. Let's
> test for that case explicitly, and assert no warnings or other stderr
> output for all the rest.

When we are expecting an error from "describe", we would want to
make sure that we will see an expected explanation of the failure
(e.g. "you passed a non-commit") in the standard error stream, but I
am somewhat skeptical about the value of a change like this that
insists that there is nothing on the standard error stream when the
command succeeds.

It is unlikely to trigger auto GC during the operation of "git
describe" and seeing some output in the standard error stream, but
it is easy to imagine that we may add an "automatically cache
precomputed topology information" feature and trigger during a
history traversal operation like this one, with some note to the
standard error output.

> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx>
> ---
>  t/t6120-describe.sh | 26 ++++++++++++--------------
>  1 file changed, 12 insertions(+), 14 deletions(-)
>
> diff --git a/t/t6120-describe.sh b/t/t6120-describe.sh
> index e4fd5d567f..ef70c695be 100755
> --- a/t/t6120-describe.sh
> +++ b/t/t6120-describe.sh
> @@ -21,7 +21,8 @@ check_describe () {
>  	shift
>  	describe_opts="$@"
>  	test_expect_success "describe $describe_opts" '
> -		git describe $describe_opts 2>err.actual >raw &&
> +		git describe $describe_opts 2>err >raw &&
> +		test_must_be_empty err &&
>  		sed -e "s/-g[0-9a-f]*\$/-gHASH/" <raw >actual &&
>  		echo $expect >expect &&
>  		test_cmp expect actual
> @@ -122,20 +123,17 @@ test_expect_success 'describe --contains defaults to HEAD without commit-ish' '
>  '
>  
>  check_describe tags/A --all A^0
> -test_expect_success 'no warning was displayed for A' '
> -	test_must_be_empty err.actual
> -'
>  
> -test_expect_success 'rename tag A to Q locally' '
> -	mv .git/refs/tags/A .git/refs/tags/Q
> -'
> -cat - >err.expect <<EOF
> -warning: tag 'Q' is externally known as 'A'
> -EOF
> -check_describe A-8-gHASH HEAD
> -test_expect_success 'warning was displayed for Q' '
> -	test_cmp err.expect err.actual
> -'
> +test_expect_success 'renaming tag A to Q locally produces a warning' "
> +	mv .git/refs/tags/A .git/refs/tags/Q &&
> +	git describe HEAD 2>actual >out &&
> +	cat >expected <<-\EOF &&
> +	warning: tag 'Q' is externally known as 'A'
> +	EOF
> +	test_cmp expected actual &&
> +	grep -E '^A-8-g[0-9a-f]+$' out
> +"
> +
>  test_expect_success 'misnamed annotated tag forces long output' '
>  	description=$(git describe --no-long Q^0) &&
>  	expr "$description" : "A-0-g[0-9a-f]*$" &&




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux