Re: [PATCH v3 1/2] t5411: refactor make_user_friendly_and_stable_output

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

 



Jiang Xin <worldhello.net@xxxxxxxxx> writes:

> diff --git a/t/t5411/common-functions.sh b/t/t5411/common-functions.sh
> index 521a347710..b7cca2d8fb 100644
> --- a/t/t5411/common-functions.sh
> +++ b/t/t5411/common-functions.sh
> @@ -42,7 +42,7 @@ create_commits_in () {
>  make_user_friendly_and_stable_output () {
>  	sed \
>  		-e "s/  *\$//" \
> -		-e "s/   */ /g" \
> +		-e "s/  */ /g" \
>  		-e "s/'/\"/g" \
>  		-e "s/	/    /g" \
>  		-e "s/$A/<COMMIT-A>/g" \
> @@ -52,5 +52,11 @@ make_user_friendly_and_stable_output () {
>  		-e "s/$(echo $A | cut -c1-7)[0-9a-f]*/<OID-A>/g" \
>  		-e "s/$(echo $B | cut -c1-7)[0-9a-f]*/<OID-B>/g" \
>  		-e "s#To $URL_PREFIX/upstream.git#To <URL/of/upstream.git>#" \
> -		-e "/^error: / d"
> +		-e "/^error: / d" | \
> +	if test $# -eq 0
> +	then
> +		cat
> +	else
> +		sed ${1+"$@"}
> +	fi
>  }

I may have suggested it, but looking at this implementation I'd have
to say it is not worth the extra process here.  The only reason why
I made the suggestion was that way we can make the single "sed"
invocation to do what we want.

If you need custom output for just two tests in 5411-0000, define
the custom one that wraps make_user_friendly_and_stable_output in
that single script like so:

    filter_out_remote_messages () {
	make_user_friendly_and_stable_output |
	sed -n -e ...
    }

and then use that ...


> diff --git a/t/t5411/test-0000-standard-git-push.sh b/t/t5411/test-0000-standard-git-push.sh
> index 2b04b49367..b3af3f59b0 100644
> --- a/t/t5411/test-0000-standard-git-push.sh
> +++ b/t/t5411/test-0000-standard-git-push.sh
> @@ -36,11 +36,10 @@ test_expect_success "git-push --atomic ($PROTOCOL)" '
>  		main \
>  		$B:refs/heads/next \
>  		>out 2>&1 &&
> -	make_user_friendly_and_stable_output <out |
> -		sed -n \
> -			-e "/^To / { s/   */ /g; p; }" \
> -			-e "/^ ! / { s/   */ /g; p; }" \
> -			>actual &&
> +	make_user_friendly_and_stable_output -n \
> +		-e "/^To / { p; }" \
> +		-e "/^ ! / { p; }" \
> +		<out >actual &&

... perhaps like

	filter_out_remote_messages <out >actual &&	

here?

> diff --git a/t/t5411/test-0001-standard-git-push--porcelain.sh b/t/t5411/test-0001-standard-git-push--porcelain.sh
> index 747307f8da..16ff2d5666 100644
> --- a/t/t5411/test-0001-standard-git-push--porcelain.sh
> +++ b/t/t5411/test-0001-standard-git-push--porcelain.sh
> @@ -37,16 +37,15 @@ test_expect_success "git-push --atomic ($PROTOCOL/porcelain)" '
>  		main \
>  		$B:refs/heads/next \
>  		>out 2>&1 &&
> -	make_user_friendly_and_stable_output <out |
> -		sed -n \
> -			-e "s/^# GETTEXT POISON #//" \
> -			-e "/^To / { s/   */ /g; p; }" \
> -			-e "/^! / { s/   */ /g; p; }" \
> -			>actual &&
> +	make_user_friendly_and_stable_output -n \
> +		-e "s/^# GETTEXT POISON #//" \
> +		-e "/^To / { p; }" \
> +		-e "/^! / { p; }" \
> +		<out >actual &&
>  	cat >expect <<-EOF &&
>  	To <URL/of/upstream.git>
> -	! refs/heads/main:refs/heads/main [rejected] (non-fast-forward)
> -	! <COMMIT-B>:refs/heads/next [rejected] (atomic push failed)
> +	!    refs/heads/main:refs/heads/main    [rejected] (non-fast-forward)
> +	!    <COMMIT-B>:refs/heads/next    [rejected] (atomic push failed)
>  	EOF
>  	test_cmp expect actual &&
>  	git -C "$upstream" show-ref >out &&



[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