automake-commit
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]