Re: [PATCH] Harden make-cairo-test-constructors.sh

Bryce Harrington <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
On Thu, Mar 12, 2015 at 05:02:02PM +0100, Andrea Canciani wrote:
> The make-cairo-test-constructors.sh script executes several commands
> without checking their success. This can lead to undetected errors,
> like those fixed in 86fad78fcd2bf987249890aea4eabcce02a58f45.
> 
> The script now exits with an error status if no file is
> input. Moreover, it sets the '-e' flag, so that if a command fails,
> the whole script is immediately terminated with an error.
> 
> In the Makefile.am, the script result is now checked and the target
> file is removed upon error. This ensures that the
> 'cairo-test-constructors.c' target completes succesfully only if no
> error occurred.
> ---
>  test/Makefile.am                     | 2 +-
>  test/make-cairo-test-constructors.sh | 4 +++-
>  2 files changed, 4 insertions(+), 2 deletions(-)

Thanks, applied:

   5182d9b..b19b06c  master -> master

Bryce
 
> diff --git a/test/Makefile.am b/test/Makefile.am
> index 950629b..b2fcd27 100644
> --- a/test/Makefile.am
> +++ b/test/Makefile.am
> @@ -81,7 +81,7 @@ noinst_SCRIPTS = check-refs.sh
>  TESTS += cairo-test-suite$(EXEEXT)
>  
>  cairo-test-constructors.c: Makefile $(test_sources) make-cairo-test-constructors.sh
> -	(cd $(srcdir) && sh ./make-cairo-test-constructors.sh $(test_sources)) > $@
> +	(cd $(srcdir) && sh ./make-cairo-test-constructors.sh $(test_sources)) > $@ || (rm $@ ; exit 1)
>  
>  cairo_test_suite_SOURCES = 		\
>  	$(cairo_test_suite_sources)	\
> diff --git a/test/make-cairo-test-constructors.sh b/test/make-cairo-test-constructors.sh
> index cb1391e..a03d61c 100644
> --- a/test/make-cairo-test-constructors.sh
> +++ b/test/make-cairo-test-constructors.sh
> @@ -1,8 +1,10 @@
>  #! /bin/sh
>  
> +set -e
> +
>  if test $# -eq 0; then
>      echo "$0: no input files." >&2
> -    exit 0
> +    exit 1
>  fi
>  
>  cat <<HERE
> -- 
> 1.9.5 (Apple Git-50.3)
> 
> -- 
> cairo mailing list
> [email protected]
> http://lists.cairographics.org/mailman/listinfo/cairo
-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.