[PATCH 1/3] tests/: Do not use `sed -i`

John Keeping john at keeping.me.uk
Mon Apr 8 20:24:35 CEST 2013


On Mon, Apr 08, 2013 at 08:18:18PM +0200, Lukas Fleischer wrote:
> "-i" isn't part of the POSIX standard and doesn't work on several
> platforms such as OpenBSD. Use a temporary file instead.
> 
> Signed-off-by: Lukas Fleischer <cgit at cryptocrack.de>
> ---
>  tests/t0010-validate-html.sh  | 3 +--
>  tests/t0020-validate-cache.sh | 9 ++++++---
>  2 files changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/tests/t0010-validate-html.sh b/tests/t0010-validate-html.sh
> index 3fe4800..a27c7bb 100755
> --- a/tests/t0010-validate-html.sh
> +++ b/tests/t0010-validate-html.sh
> @@ -7,8 +7,7 @@ test_url()
>  {
>  	tidy_opt="-eq"
>  	test -z "$NO_TIDY_WARNINGS" || tidy_opt+=" --show-warnings no"
> -	cgit_url "$1" >trash/tidy-$test_count || return
> -	sed -ie "1,4d" trash/tidy-$test_count || return
> +	cgit_url "$1" | sed -e "1,4d" trash/tidy-$test_count || return

Please don't pipe the output like this, it loses the exit code from
cgit_url (and hence cgit) and may cause us to miss crashes.

The rest of this patch looks sensible - I'd probably use a suffix of "+"
rather than ".tmp", but that's just taste. ;-)

>  	"$tidy" $tidy_opt trash/tidy-$test_count
>  	rc=$?
>  
> diff --git a/tests/t0020-validate-cache.sh b/tests/t0020-validate-cache.sh
> index 53ec2eb..19db93d 100755
> --- a/tests/t0020-validate-cache.sh
> +++ b/tests/t0020-validate-cache.sh
> @@ -7,7 +7,8 @@ prepare_tests 'Validate cache'
>  run_test 'verify cache-size=0' '
>  
>  	rm -f trash/cache/* &&
> -	sed -i -e "s/cache-size=1021$/cache-size=0/" trash/cgitrc &&
> +	sed -e "s/cache-size=1021$/cache-size=0/" trash/cgitrc >trash/cgitrc.tmp &&
> +	mv trash/cgitrc.tmp trash/cgitrc &&
>  	cgit_url "" &&
>  	cgit_url "foo" &&
>  	cgit_url "foo/refs" &&
> @@ -27,7 +28,8 @@ run_test 'verify cache-size=0' '
>  run_test 'verify cache-size=1' '
>  
>  	rm -f trash/cache/* &&
> -	sed -i -e "s/cache-size=0$/cache-size=1/" trash/cgitrc &&
> +	sed -e "s/cache-size=0$/cache-size=1/" trash/cgitrc >trash/cgitrc.tmp &&
> +	mv trash/cgitrc.tmp trash/cgitrc &&
>  	cgit_url "" &&
>  	cgit_url "foo" &&
>  	cgit_url "foo/refs" &&
> @@ -47,7 +49,8 @@ run_test 'verify cache-size=1' '
>  run_test 'verify cache-size=1021' '
>  
>  	rm -f trash/cache/* &&
> -	sed -i -e "s/cache-size=1$/cache-size=1021/" trash/cgitrc &&
> +	sed -e "s/cache-size=1$/cache-size=1021/" trash/cgitrc >trash/cgitrc.tmp &&
> +	mv trash/cgitrc.tmp trash/cgitrc &&
>  	cgit_url "" &&
>  	cgit_url "foo" &&
>  	cgit_url "foo/refs" &&
> -- 
> 1.8.2.675.gda3bb24.dirty




More information about the CGit mailing list