From: Stefano Lattarini Date: Tue, 7 Jun 2011 13:24:11 +0000 (+0200) Subject: test defs: new function 'fatal_', for hard errors X-Git-Tag: ng-0.5a~168^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5b7c6b4ce170477dc3a25a5ca669d117bfb40aa8;p=thirdparty%2Fautomake.git test defs: new function 'fatal_', for hard errors Before this patch, the only way offered by tests/defs to properly signal a hard error was the `framework_failure_' function. But the error message issued by that function, as its name would suggest, refers to a set-up failure in the testsuite, while hard errors can obviously also be due to other reasons. The best way to fix this inconsistency is to introduce a new function with a more general error message. Inspired by a recent similar change to Gnulib's tests/init.sh. * tests/defs.in (fatal_): New function. * tests/README (Section "Writing test cases" subsection "Do"): Suggest the use of `fatal_', not of `framework_failure_', for generic hard errors. The latter should be reserved for "real" set-up failures. --- diff --git a/ChangeLog b/ChangeLog index cb9918fc2..5b3053dff 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +2011-06-08 Stefano Lattarini + + test defs: new function 'fatal_', for hard errors + Before this patch, the only way offered by tests/defs to + properly signal a hard error was the `framework_failure_' + function. But the error message issued by that function, + as its name would suggest, refers to a set-up failure in the + testsuite, while hard errors can obviously also be due to + other reasons. The best way to fix this inconsistency is to + introduce a new function with a more general error message. + Inspired by a recent similar change to Gnulib's tests/init.sh. + * tests/defs.in (fatal_): New function. + * tests/README (Section "Writing test cases" subsection "Do"): + Suggest the use of `fatal_', not of `framework_failure_', for + generic hard errors. The latter should be reserved for "real" + set-up failures. + 2011-06-02 Stefano Lattarini maintcheck: fix some failures, extend some checks diff --git a/tests/README b/tests/README index 2b5b5afab..57b2ddb23 100644 --- a/tests/README +++ b/tests/README @@ -102,8 +102,10 @@ Do Use the `skip_' function to skip tests, with a meaningful message if possible. Where convenient, use the `warn_' function to print generic - warnings, and the `fail_' function for test failures. Finally, you may - use the `framework_fail_' function for hard errors. + warnings, the `fail_' function for test failures, and the `fatal_' + function for hard errors. In case a hard error is due to a failed + set-up of a test scenario, you can use the `framework_fail_' function + instead. For tests that use the `parallel-tests' Automake option, set the shell variable `parallel_tests' to "yes" before including ./defs. Also, diff --git a/tests/defs.in b/tests/defs.in index 87a350dad..5849fbdbe 100644 --- a/tests/defs.in +++ b/tests/defs.in @@ -148,6 +148,7 @@ Exit () warn_ () { echo "$@" 1>&$stderr_fileno_; } fail_ () { warn_ "$me: failed test: $@"; Exit 1; } skip_ () { warn_ "$me: skipped test: $@"; Exit 77; } +fatal_ () { warn_ "$me: hard error: $@"; Exit 99; } framework_failure_ () { warn_ "$me: set-up failure: $@"; Exit 99; } # cross_compiling