[SCM] GNU Autoconf source repository branch, master, updated. v2.67-20-g00d8080

"Ralf Wildenhues" <[email protected]> Mon, 16 Aug 2010 19:15:32 +0000
Newsgroups gmane.comp.sysutils.autoconf.cvs
Message-ID <[email protected]>
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 Autoconf source repository".

http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=00d80808b5aa0ca66eccb7653a044b9333c449fa

The branch, master has been updated
       via  00d80808b5aa0ca66eccb7653a044b9333c449fa (commit)
      from  64000cf1f891b8c64b9ad12f7b0f06075ba403b7 (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 00d80808b5aa0ca66eccb7653a044b9333c449fa
Author: Ralf Wildenhues <[email protected]>
Date:   Mon Aug 16 21:14:20 2010 +0200

    Fix Autotest --errexit to exit after XPASSing tests.
    
    * lib/autotest/general.m4 (AT_INIT) <at_fn_group_postprocess>:
    Exit after an unexpected passing test if $at_errexit.
    * tests/autotest.at (errexit): Also try tests that xpass, skip,
    xfail, or fail hard.
    
    Signed-off-by: Ralf Wildenhues <[email protected]>

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog               |    8 ++++++++
 lib/autotest/general.m4 |    3 +++
 tests/autotest.at       |   33 +++++++++++++++++++++++++++++++--
 3 files changed, 42 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 356d78f..fbc69db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2010-08-16  Ralf Wildenhues  <[email protected]>
+
+	Fix Autotest --errexit to exit after XPASSing tests.
+	* lib/autotest/general.m4 (AT_INIT) <at_fn_group_postprocess>:
+	Exit after an unexpected passing test if $at_errexit.
+	* tests/autotest.at (errexit): Also try tests that xpass, skip,
+	xfail, or fail hard.
+
 2010-08-14  Eric Blake  <[email protected]>
 
 	AC_INIT: allow bugreport to contain '?'
diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
index a248342..ef76e63 100644
--- a/lib/autotest/general.m4
+++ b/lib/autotest/general.m4
@@ -1257,6 +1257,9 @@ _ATEOF
       # or the success was unexpected.
       if $at_debug_p || test $at_res = xpass; then
 	at_fn_create_debugging_script
+	if test $at_res = xpass && $at_errexit; then
+	  echo stop > "$at_stop_file"
+	fi
       else
 	if test -d "$at_group_dir"; then
 	  find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
diff --git a/tests/autotest.at b/tests/autotest.at
index b617db6..04524a5 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -368,12 +368,41 @@ AT_CHECK_AT_TEST([errexit],
   [AT_CHECK([false])
    AT_CLEANUP
    AT_SETUP([test that should not be run])
-   AT_CHECK([:])],
+   AT_CHECK([:])
+   AT_CLEANUP
+   AT_SETUP([xpassing test])
+   AT_XFAIL_IF([:])
+   AT_CHECK([:])
+   AT_CLEANUP
+   AT_SETUP([another test that should not be run])
+   AT_CHECK([:])
+   AT_CLEANUP
+   AT_SETUP([skipping test])
+   AT_CHECK([exit 77])
+   AT_CLEANUP
+   AT_SETUP([xfailing test])
+   AT_XFAIL_IF([:])
+   AT_CHECK([false])
+   AT_CLEANUP
+   AT_SETUP([a test that should be run])
+   AT_CLEANUP
+   AT_SETUP([hard failure])
+   AT_XFAIL_IF([:])
+   AT_CHECK([exit 99])
+   AT_CLEANUP
+   AT_SETUP([yet another test that should not be run])],
   [], [1], [stdout], [stderr], [],
   [AT_CHECK([test -f micro-suite.log], [1])
    touch micro-suite.log # shut up AT_CAPTURE_FILE.
    AT_CHECK([grep "should not be run" stdout], [1])
-   AT_CHECK([grep "1 .* inhibited subsequent" stderr], [], [ignore])],
+   AT_CHECK([grep "1 .* inhibited subsequent" stderr], [], [ignore])
+   AT_CHECK([$CONFIG_SHELL ./micro-suite --errexit 3-], [1], [stdout], [stderr])
+   AT_CHECK([grep "should not be run" stdout], [1])
+   AT_CHECK([grep "1 .* inhibited subsequent" stderr], [], [ignore])
+   AT_CHECK([$CONFIG_SHELL ./micro-suite --errexit 5-], [1], [stdout], [stderr])
+   AT_CHECK([grep "should be run" stdout], [0], [ignore])
+   AT_CHECK([grep "should not be run" stdout], [1])
+   AT_CHECK([grep "inhibited subsequent" stderr], [], [ignore])],
   [--errexit])
 
 AT_CHECK_AT_TEST([unquoted output],


hooks/post-receive
-- 
GNU Autoconf source repository