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