On Saturday 23 April 2011, Jim Meyering wrote:
> Stefano Lattarini wrote:
> > OK, I've added Jim as the primary author of this patch (both in the
> > ChangeLog and with "git --author").  I'll wait his ACK on this attribution
> > before pushing.
>
> Hi Stefano,
> 
> Thanks for the heads-up.  That looks fine,
>
Good.  I've pushed the patch now.

> though I haven't tested it.
>
I've done that, adding some new self checks in the process.  See attached
patch (which I've already pushed).

> I'm glad you listed yourself as co-author.
>
I did that because I wrote the "documentation" parts, and I don't want
you to be blamed for my lack of expressive ability and/or my language
slips ;-)

Thanks,
  Stefano
From 305f9120306aab1343da724696aaa88c7f0dd0ab Mon Sep 17 00:00:00 2001
From: Stefano Lattarini <stefano.lattar...@gmail.com>
Date: Sat, 23 Apr 2011 23:37:30 +0200
Subject: [PATCH] test: self check subroutines for skipping/failing of tests

* tests/self-check-report.test: New test.
* tests/Makefile.am (TESTS): Update.
---
 ChangeLog                    |    6 +++++
 tests/Makefile.am            |    1 +
 tests/Makefile.in            |    1 +
 tests/self-check-report.test |   47 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 55 insertions(+), 0 deletions(-)
 create mode 100755 tests/self-check-report.test

diff --git a/ChangeLog b/ChangeLog
index 5963deb..91c1cdf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2011-04-23  Stefano Lattarini  <stefano.lattar...@gmail.com>
+
+	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  <meyer...@redhat.com>
 	    Stefano Lattarini  <stefano.lattar...@gmail.com>
 
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b1401e9..49d8942 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -47,6 +47,7 @@ TESTS_ENVIRONMENT = \
 
 TESTS = \
 self-check-env-sanitize.test \
+self-check-report.test \
 aclibobj.test \
 aclocal.test \
 aclocal3.test \
diff --git a/tests/Makefile.in b/tests/Makefile.in
index 96ef92b..78d723c 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -318,6 +318,7 @@ TESTS_ENVIRONMENT = \
 
 TESTS = \
 self-check-env-sanitize.test \
+self-check-report.test \
 aclibobj.test \
 aclocal.test \
 aclocal3.test \
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
+
+:
-- 
1.7.2.3

Reply via email to