[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-794-
From: |
Stefano Lattarini |
Subject: |
[Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-794-g13b8cba |
Date: |
Sat, 23 Apr 2011 21:52:54 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".
http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=13b8cba6f99cb3cf9c93065832760389a7962963
The branch, master has been updated
via 13b8cba6f99cb3cf9c93065832760389a7962963 (commit)
via 305f9120306aab1343da724696aaa88c7f0dd0ab (commit)
via d8f365af42b559f1ae46544c2238febfca664f3a (commit)
from 6b22deff997b02052f4315777ca4ab4b64b8d8fe (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 13b8cba6f99cb3cf9c93065832760389a7962963
Merge: 6b22def 305f912
Author: Stefano Lattarini <address@hidden>
Date: Sat Apr 23 23:51:17 2011 +0200
Merge branch 'maint'
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 18 ++++++++++++++++
tests/Makefile.am | 1 +
tests/Makefile.in | 1 +
tests/README | 5 ++++
tests/defs | 14 ++++++++++++
tests/self-check-report.test | 47 ++++++++++++++++++++++++++++++++++++++++++
6 files changed, 86 insertions(+), 0 deletions(-)
create mode 100755 tests/self-check-report.test
diff --git a/ChangeLog b/ChangeLog
index 39e4f93..541b618 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,23 @@
2011-04-23 Stefano Lattarini <address@hidden>
+ test: self check subroutines for skipping/failing of tests
+ * tests/self-check-report.test: New test.
+ * tests/Makefile.am (TESTS): Update.
+
+2011-04-23 Jim Meyering <address@hidden>
+ Stefano Lattarini <address@hidden>
+
+ test defs: new subroutines for test skipping/failing
+ * tests/defs.in (Exit): Move definition of this function earlier.
+ (warn_, skip_, fail_, framework_failure_): New functions, inspired
+ to the homonyms in gnulib's tests/init.sh.
+ ($stderr_fileno_): New global variable, used by the new functions
+ above.
+ * tests/README: Updated.
+ From a suggestion by Ralf Wildenhues.
+
+2011-04-23 Stefano Lattarini <address@hidden>
+
tests: fix typo (copy & paste blunder) in heading comment
* tests/maintclean-vpath.test: Correctly refer to the sister test
as `maintclean.test', not as `maintclean-vpath.test'.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 28058d9..9b91fb1 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -824,6 +824,7 @@ self-check-env-sanitize.test \
self-check-exit.test \
self-check-is_newest.test \
self-check-me.test \
+self-check-report.test \
self-check-sanity.test \
self-check-unindent.test \
sanity.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 5342b96..0fd70b5 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -1089,6 +1089,7 @@ self-check-env-sanitize.test \
self-check-exit.test \
self-check-is_newest.test \
self-check-me.test \
+self-check-report.test \
self-check-sanity.test \
self-check-unindent.test \
sanity.test \
diff --git a/tests/README b/tests/README
index 2d80236..bc34743 100644
--- a/tests/README
+++ b/tests/README
@@ -120,6 +120,11 @@ Do
Include ./defs in every test script (see existing tests for examples
of how to do this).
+ 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.
+
For tests that use the `parallel-tests' Automake option, set the shell
variable `parallel_tests' to "yes" before including ./defs. Also,
use for them a name that ends in `-p.test' and does not clash with any
diff --git a/tests/defs b/tests/defs
index 797e542..4f035f7 100644
--- a/tests/defs
+++ b/tests/defs
@@ -128,6 +128,20 @@ Exit ()
exit $1
}
+# Print warnings (e.g., about skipped and failed tests) to this file
+# number. Override by putting, say:
+# stderr_fileno_=9; export stderr_fileno_; exec 9>&2;
+# in the definition of AM_TESTS_ENVIRONMENT.
+# This is useful when using automake's parallel tests mode, to print the
+# reason for skip/failure to console, rather than to the *.log files.
+: ${stderr_fileno_=2}
+
+# Copied from Gnulib's `tests/init.sh'.
+warn_ () { echo "$@" 1>&$stderr_fileno_; }
+fail_ () { warn_ "$me: failed test: $@"; Exit 1; }
+skip_ () { warn_ "$me: skipped test: $@"; Exit 77; }
+framework_failure_ () { warn_ "$me: set-up failure: $@"; Exit 99; }
+
# is_newest FILE FILES
# --------------------
# Return false if any file in FILES is newer than FILE.
diff --git a/tests/self-check-report.test b/tests/self-check-report.test
new file mode 100755
index 0000000..639319a
--- /dev/null
+++ b/tests/self-check-report.test
@@ -0,0 +1,47 @@
+#! /bin/sh
+# Copyright (C) 2011 Free Software Foundation, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+# Sanity check for the automake testsuite.
+# Test subroutines to report warnings, and to signal failures, skips
+# and hard errors.
+
+. ./defs || Exit 1
+
+set +e
+
+exec 5>&1
+
+(warn_ foobar) 2>&1 1>&5 | grep '^foobar$' || Exit 1
+(fail_ foo); test $? -eq 1 || Exit 1
+(fail_ foo) 2>&1 1>&5 | grep "^$me: failed test: foo" || Exit 1
+(skip_ foo); test $? -eq 77 || Exit 1
+(skip_ foo) 2>&1 1>&5 | grep "^$me: skipped test: foo" || Exit 1
+(framework_failure_ foo); test $? -eq 99 || Exit 1
+(framework_failure_ foo) 2>&1 1>&5 \
+ | grep "^$me: set-up failure: foo" || Exit 1
+
+stderr_fileno_=6
+
+(warn_ foobar) 6>&1 1>&5 | grep '^foobar$' || Exit 1
+(fail_ foo); test $? -eq 1 || Exit 1
+(fail_ foo) 6>&1 1>&5 | grep "^$me: failed test: foo" || Exit 1
+(skip_ foo); test $? -eq 77 || Exit 1
+(skip_ foo) 6>&1 1>&5 | grep "^$me: skipped test: foo" || Exit 1
+(framework_failure_ foo); test $? -eq 99 || Exit 1
+(framework_failure_ foo) 6>&1 1>&5 \
+ | grep "^$me: set-up failure: foo" || Exit 1
+
+:
hooks/post-receive
--
GNU Automake
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Automake-commit] [SCM] GNU Automake branch, master, updated. v1.11-794-g13b8cba,
Stefano Lattarini <=