[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Autoconf source repository branch, master, updated. v2.65-85-g
From: |
Ralf Wildenhues |
Subject: |
[SCM] GNU Autoconf source repository branch, master, updated. v2.65-85-ge3e31f6 |
Date: |
Mon, 14 Jun 2010 18:38:07 +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 Autoconf source repository".
http://git.sv.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=e3e31f6dc457512879823bcf0f35d6cb175c45e7
The branch, master has been updated
via e3e31f6dc457512879823bcf0f35d6cb175c45e7 (commit)
via 41bd1b25dc6737dbf6c8b4fad88f7968f1c4161b (commit)
from d1a23e61aa727888683d9796aea01a82073934ca (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 e3e31f6dc457512879823bcf0f35d6cb175c45e7
Author: Ralf Wildenhues <address@hidden>
Date: Sun Jun 13 08:38:09 2010 +0200
Autotest: simplify logic to compute test group result.
* lib/autotest/general.m4 (AT_INIT): Compactify result
computation logic.
Signed-off-by: Ralf Wildenhues <address@hidden>
commit 41bd1b25dc6737dbf6c8b4fad88f7968f1c4161b
Author: Ralf Wildenhues <address@hidden>
Date: Mon Jun 14 20:31:58 2010 +0200
New Autotest testsuite option --recheck.
* lib/autotest/general.m4 (AT_INIT): New variable $at_recheck.
Escape hyphen in $at_dir early. Accept command line switch
--recheck. Set $at_suite_log early, based on --directory
switch; with --recheck, include the list of FAILed and XPASSed
tests from old testsuite.log file in $at_groups. Document
--recheck in --help output.
* tests/autotest.at (recheck): New test.
* doc/autoconf.texi (testsuite Invocation): Document --recheck.
* NEWS: Update.
Signed-off-by: Ralf Wildenhues <address@hidden>
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 17 +++++++++++++++++
NEWS | 3 +++
doc/autoconf.texi | 4 ++++
lib/autotest/general.m4 | 46 +++++++++++++++++++++++++++++++---------------
tests/autotest.at | 46 ++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 101 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a495513..d1fc70e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2010-06-14 Ralf Wildenhues <address@hidden>
+
+ Autotest: simplify logic to compute test group result.
+ * lib/autotest/general.m4 (AT_INIT): Compactify result
+ computation logic.
+
+ New Autotest testsuite option --recheck.
+ * lib/autotest/general.m4 (AT_INIT): New variable $at_recheck.
+ Escape hyphen in $at_dir early. Accept command line switch
+ --recheck. Set $at_suite_log early, based on --directory
+ switch; with --recheck, include the list of FAILed and XPASSed
+ tests from old testsuite.log file in $at_groups. Document
+ --recheck in --help output.
+ * tests/autotest.at (recheck): New test.
+ * doc/autoconf.texi (testsuite Invocation): Document --recheck.
+ * NEWS: Update.
+
2010-06-14 Karl Berry <address@hidden> (tiny change)
Clarify comment about old system.
diff --git a/NEWS b/NEWS
index dfe8cd7..f1fdefb 100644
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,9 @@ GNU Autoconf NEWS - User visible changes.
** AS_SET_CATFILE accepts nonliterals in its variable name argument now.
+** Autotest testsuites accept an option --recheck to rerun tests that
+ failed or passed unexpectedly during the last non-debug testsuite run.
+
* Major changes in Autoconf 2.65 (2009-11-21) [stable]
Released by Eric Blake, based on git versions 2.64.*.
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index 6be99aa..ca0d85c 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -23805,6 +23805,10 @@ log (in order to preserve supposedly existing full log
file). This is
the default for debugging scripts, but it can also be useful to debug
the testsuite itself.
address@hidden --recheck
+Add to the selection all test groups that failed or passed unexpectedly
+during the last non-debugging test run.
+
@item --trace
@itemx -x
Trigger shell tracing of the test groups.
diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4
index ac8f523..5f965fd 100644
--- a/lib/autotest/general.m4
+++ b/lib/autotest/general.m4
@@ -403,6 +403,8 @@ at_list_p=false
at_clean=false
# Test groups to run
at_groups=
+# Whether to rerun failed tests.
+at_recheck=
# Whether a write failure occurred
at_write_fail=0
@@ -558,6 +560,9 @@ do
--directory=* )
at_change_dir=:
at_dir=$at_optarg
+ if test x- = "x$at_dir" ; then
+ at_dir=./-
+ fi
;;
# Parallel execution.
@@ -606,6 +611,9 @@ do
`
AS_VAR_APPEND([at_groups], ["$at_groups_selected "])
;;
+ --recheck)
+ at_recheck=:
+ ;;
m4_divert_pop([PARSE_ARGS])dnl
dnl Process *=* last to allow for user specified --option=* type arguments.
m4_divert_push([PARSE_ARGS_END])dnl
@@ -633,10 +641,25 @@ done
# Verify our last option didn't require an argument
AS_IF([test -n "$at_prev"], [AS_ERROR([`$at_prev' requires an argument])])
+# The file containing the suite.
+at_suite_log=$at_dir/$as_me.log
+
# Selected test groups.
-if test -z "$at_groups"; then
+if test -z "$at_groups$at_recheck"; then
at_groups=$at_groups_all
else
+ if test -n "$at_recheck" && test -r "$at_suite_log"; then
+ at_oldfails=`sed -n ['
+ /^Failed tests:$/,/^Skipped tests:$/{
+ s/^[ ]*\([1-9][0-9]*\):.*/\1/p
+ }
+ /^Unexpected passes:$/,/^## Detailed failed tests/{
+ s/^[ ]*\([1-9][0-9]*\):.*/\1/p
+ }
+ /^## Detailed failed tests/q
+ '] "$at_suite_log" | tr "$as_nl" ' '`
+ AS_VAR_APPEND([at_groups], ["$at_oldfails"])
+ fi
# Sort the tests, removing duplicates.
at_groups=`AS_ECHO(["$at_groups"]) | tr ' ' "$as_nl" | sort -nu`
fi
@@ -686,6 +709,7 @@ Execution tuning:
-k, --keywords=KEYWORDS
[ select the tests matching all the comma-separated KEYWORDS]
[ multiple \`-k' accumulate; prefixed \`!' negates a KEYWORD]
+ --recheck select all tests that failed or passed unexpectedly last time
-e, --errexit abort as soon as a test fails; implies --debug
-v, --verbose force more detailed output
[ default for debugging scripts]
@@ -773,9 +797,6 @@ m4_divert_push([TESTS_BEGIN])dnl
# Take any -C into account.
if $at_change_dir ; then
- if test x- = "x$at_dir" ; then
- at_dir=./-
- fi
test x != "x$at_dir" && cd "$at_dir" \
|| AS_ERROR([unable to change directory])
at_dir=`pwd`
@@ -840,7 +861,7 @@ m4_text_box([Directory structure.])
# The directory the whole suite works in.
# Should be absolute to let the user `cd' at will.
at_suite_dir=$at_dir/$as_me.dir
-# The file containing the suite.
+# The file containing the suite ($at_dir might have changed since earlier).
at_suite_log=$at_dir/$as_me.log
# The directory containing helper files per test group.
at_helper_dir=$at_suite_dir/at-groups
@@ -1131,11 +1152,6 @@ _ATEOF
$at_verbose AS_ECHO_N(["$at_group. $at_setup_line: "])
AS_ECHO_N(["$at_group. $at_setup_line: "]) >> "$at_group_log"
case $at_xfail:$at_status in
- *:99)
- at_msg='FAILED ('`cat "$at_check_line_file"`')'
- at_res=fail
- at_errexit=$at_errexit_p
- ;;
yes:0)
at_msg="UNEXPECTED PASS"
at_res=xpass
@@ -1151,16 +1167,16 @@ _ATEOF
at_res=skip
at_errexit=false
;;
+ no:* | *:99)
+ at_msg='FAILED ('`cat "$at_check_line_file"`')'
+ at_res=fail
+ at_errexit=$at_errexit_p
+ ;;
yes:*)
at_msg='expected failure ('`cat "$at_check_line_file"`')'
at_res=xfail
at_errexit=false
;;
- no:*)
- at_msg='FAILED ('`cat "$at_check_line_file"`')'
- at_res=fail
- at_errexit=$at_errexit_p
- ;;
esac
echo "$at_res" > "$at_job_dir/$at_res"
# In parallel mode, output the summary line only afterwards.
diff --git a/tests/autotest.at b/tests/autotest.at
index a09e2c1..ad38b7a 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -890,6 +890,52 @@ AT_CHECK([$CONFIG_SHELL ./micro-suite -C nonesuch --help],
[0], [ignore], [])
])
+# --recheck.
+AT_CHECK_AT_TEST([recheck],
+ [AT_CHECK([:])
+ AT_CLEANUP
+ AT_SETUP([failing test])
+ AT_CHECK([exit 1])
+ AT_CLEANUP
+ AT_SETUP([xpassing test])
+ AT_XFAIL_IF([:])
+ AT_CHECK([:])
+ AT_CLEANUP
+ AT_SETUP([xfailing test])
+ AT_XFAIL_IF([:])
+ AT_CHECK([exit 1])
+], [], [], [], [], [], [
+AT_CHECK([$CONFIG_SHELL ./micro-suite --recheck], [0], [stdout])
+AT_CHECK([grep "0 tests were successful" stdout], [0], [ignore])
+
+AT_CHECK([$CONFIG_SHELL ./micro-suite], [1], [ignore], [ignore])
+AT_CHECK([grep 'only test' micro-suite.log], [0], [ignore])
+AT_CHECK([$CONFIG_SHELL ./micro-suite --recheck], [1], [ignore], [ignore])
+AT_CHECK([grep 'only test' micro-suite.log], [1])
+AT_CHECK([grep 'xfailing' micro-suite.log], [1])
+AT_CHECK([grep 'failing test' micro-suite.log], [0], [ignore])
+AT_CHECK([grep 'xpassing test' micro-suite.log], [0], [ignore])
+
+AT_CHECK([$CONFIG_SHELL ./micro-suite --clean], [0])
+AT_CHECK([test -f micro-suite.log], [1])
+
+dnl check specifying a different relative path to run in.
+AT_CHECK([mkdir sub1])
+AT_CHECK([$CONFIG_SHELL ./micro-suite -C sub1], [1], [ignore], [ignore])
+AT_CHECK([test -f micro-suite.log], [1])
+AT_CHECK([test -f sub1/micro-suite.log], [0])
+AT_CHECK([$CONFIG_SHELL ./micro-suite -C sub1 --recheck --list], [0], [stdout])
+AT_CHECK([grep 'only test' stdout], [1])
+AT_CHECK([grep 'xfailing test' stdout], [1])
+AT_CHECK([grep 'failing test' stdout], [0], [ignore])
+AT_CHECK([grep 'xpassing test' stdout], [0], [ignore])
+AT_CHECK([$CONFIG_SHELL ./micro-suite -C sub1 --recheck], [1], [ignore],
+ [ignore])
+AT_CHECK([grep 'failing test' sub1/micro-suite.log], [0], [ignore])
+AT_CHECK([grep 'xpassing test' sub1/micro-suite.log], [0], [ignore])
+], [1 4])
+
+
## -------- ##
## Banners. ##
## -------- ##
hooks/post-receive
--
GNU Autoconf source repository
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Autoconf source repository branch, master, updated. v2.65-85-ge3e31f6,
Ralf Wildenhues <=