autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [SCM] GNU Autoconf source repository branch, master, updated. v2.63b


From: Eric Blake
Subject: Re: [SCM] GNU Autoconf source repository branch, master, updated. v2.63b-70-g9c25a39
Date: Mon, 13 Jul 2009 22:13:30 -0600
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.22) Gecko/20090605 Thunderbird/2.0.0.22 Mnenhy/0.7.6.666

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Ralf Wildenhues on 7/12/2009 9:10 AM:
> Without my patch and with zsh 4.3.4,
>    CONFIG_SHELL=/bin/zsh /bin/zsh ./testsuite -k parallel
> 
> leads to a bunch of failures like this:
> 
> @@ -0,0 +1 @@
> +set: can't change option: -m
> micro-suite.log:
> sed: can't read micro-suite.log: No such file or directory
> 170. autotest.at:1005: 170. parallel test execution (autotest.at:1005): 
> FAILED (autotest.at:1064)
> 
> With my patch, the parallel tests are all ok (i.e., pass not skip),
> except for "parallel syntax error" which is skipped.
> 
> So sorry for the mis-analysis; this zsh version warns about 'set -m' but
> it has exit status 0, and the tests come out correctly too.  So no, I
> don't think the mkfifo needs the same treatment.

OK, so some time in the past, zsh ignored 'set -m' in subshells, but
managed to track jobs; then at least zsh 4.3.9 and 4.3.10 changed things
where it is completely broken, but the latest CVS zsh (also available as a
git repo) is responding to my bug report by adding a new option POSIX_JOBS
which appears on the surface to be a step in the right direction.  I still
need to test the latest zsh with the autoconf testsuite, so hopefully I
can get to that soon.

At any rate, your patch makes sense in that light (we're ignoring a
verbose shell that otherwise manages to get through the testsuite, rather
than worrying about an exit status of 77).

But I will also commit this to make things more obvious:

- --
Don't work too hard, make some time for fun as well!

Eric Blake             address@hidden
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkpcBeoACgkQ84KuGfSFAYClzwCgx4HAh0LPJJMMoQ1Y2jIi3T8o
lGwAoIt4ZiATR2nbffYr7Yz1oPvLjwnx
=8zPU
-----END PGP SIGNATURE-----
>From 2b5b0dda48597bae5f21209ed015cc0cad61ed24 Mon Sep 17 00:00:00 2001
From: Eric Blake <address@hidden>
Date: Mon, 13 Jul 2009 22:03:27 -0600
Subject: [PATCH] Guarantee that exit status trumps output matching.

* doc/autoconf.texi (Writing Testsuites) <AT_CHECK>: Document this
better.
* tests/autotest.at (Skip, parallel skip): Enhance tests.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog         |    5 +++++
 doc/autoconf.texi |    3 ++-
 tests/autotest.at |    4 ++--
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f8df09e..37b7b15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2009-07-13  Eric Blake  <address@hidden>

+       Guarantee that exit status trumps output matching.
+       * doc/autoconf.texi (Writing Testsuites) <AT_CHECK>: Document this
+       better.
+       * tests/autotest.at (Skip, parallel skip): Enhance tests.
+
        Fix nits in recent patches.
        * configure.ac (ac_cv_dir_trailing_space): Avoid $status, for
        zsh.
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index aa6ceba..a4aed6f 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -22750,7 +22750,8 @@ Writing Testsuites
 parameter is treated as text that must exactly match the output given by
 @var{commands} on standard out and standard error (including an empty
 parameter for no output); any differences are captured in the testsuite
-log and the test is failed.  The difference between @code{AT_CHECK} and
+log and the test is failed (unless an unexpected exit status of 77
+skipped the test instead).  The difference between @code{AT_CHECK} and
 @code{AT_CHECK_UNQUOTED} is that only the latter performs shell variable
 expansion (@samp{$}), command substitution (@samp{`}), and backslash
 escaping (@samp{\}) on comparison text given in the @var{stdout} and
diff --git a/tests/autotest.at b/tests/autotest.at
index 0063c4a..57382ca 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -259,7 +259,7 @@ AT_CHECK_AT_TEST([Fallacy],
   [AT_CHECK([grep failed micro-suite.log], [], [ignore])])

 AT_CHECK_AT_TEST([Skip],
-  [AT_CHECK([exit 77], 0, [], [])],
+  [AT_CHECK([echo output; echo irrelevant >&2; exit 77], 0, [mismatch], [])],
   [], [], [], [], [],
   [AT_CHECK([grep skipped micro-suite.log], [], [ignore])])

@@ -1155,7 +1155,7 @@ AT_CHECK_AT_TEST([parallel fallacy],
   [AT_CHECK([grep failed micro-suite.log], [], [ignore])], [-j])

 AT_CHECK_AT_TEST([parallel skip],
-  [AT_CHECK([exit 77], 0, [], [])],
+  [AT_CHECK([echo output; echo irrelevant >&2; exit 77], 0, [mismatch], [])],
   [], [], [], [], [AT_SKIP_PARALLEL_TESTS],
   [AT_CHECK([grep skipped micro-suite.log], [], [ignore])], [-j])

-- 
1.6.3.3.334.g916e1


reply via email to

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