diff --git a/ChangeLog b/ChangeLog index 248680f3..11d5f752 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2001-10-01 Akim Demaille + + * tests/testsuite (AT_INIT) : New. + Don't run twice the same test. + 2001-10-01 Akim Demaille * lib/autotest/general.m4 (AT_INIT) <--help>: Catch up with reality. diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 6d48c02e..354f8dc4 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -51,7 +51,7 @@ Configuring a package * config.status: (autoconf)config.status Invocation. Recreating a configuration -* testsuite: (autoconf)testsuite invocation +* testsuite: (autoconf)testsuite Invocation. Running an Autotest test suite @end direntry @@ -410,7 +410,7 @@ Generating Test Suites with Autotest * testsuite Scripts:: The concepts of Autotest * Writing testsuite.at:: Autotest macros -* testsuite invocation:: Running @command{testsuite} scripts +* testsuite Invocation:: Running @command{testsuite} scripts * Making testsuite Scripts:: Using autom4te to create @command{testsuite} Questions About Autoconf @@ -1058,7 +1058,6 @@ each line consists of a symbol, whitespace, and the Autoconf macro to output if that symbol is encountered. Lines starting with @samp{#} are comments. -@code{autoscan} is only installed if you already have Perl installed. @code{autoscan} accepts the following options: @table @option @@ -11420,7 +11419,7 @@ tool testing, which is probably its main limitation. @menu * testsuite Scripts:: The concepts of Autotest * Writing testsuite.at:: Autotest macros -* testsuite invocation:: Running @command{testsuite} scripts +* testsuite Invocation:: Running @command{testsuite} scripts * Making testsuite Scripts:: Using autom4te to create @command{testsuite} @end menu @@ -11591,7 +11590,7 @@ Similarly for @var{stderr} with @samp{expout} and @samp{stderr}. @end defmac -@node testsuite invocation +@node testsuite Invocation @section Running @command{testsuite} Scripts @cindex @command{testsuite} diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index a17da201..46862842 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -459,6 +459,7 @@ done at_start_date=`date` at_start_time=`(date +%s) 2>/dev/null` echo "$as_me: starting at: $at_start_date" >&AS_MESSAGE_LOG_FD +at_pass_list= at_fail_list= at_skip_list= at_test_count=0 @@ -468,6 +469,11 @@ for at_test in $at_tests do at_status=0 rm -rf $at_data_files + # Skip tests we already run (using --keywords makes it easy to get + # duplication). + case " $at_pass_test $at_skip_test $at_fail_test " in + *" $at_test "* ) continue;; + esac # Clearly separate the tests when verbose. test $at_test_count != 0 && $at_verbose case $at_test in @@ -493,14 +499,15 @@ _ATEOF at_test_count=`expr 1 + $at_test_count` $at_verbose $ECHO_N "$at_test. $at_setup_line: $ECHO_C" case $at_status in - 0) at_msg="ok" - ;; + 0) at_msg="ok" + at_pass_list="$at_pass_list $at_test" + ;; 77) at_msg="ok (skipped near \``cat at-check-line`')" at_skip_list="$at_skip_list $at_test" ;; - *) at_msg="FAILED near \``cat at-check-line`'" - at_fail_list="$at_fail_list $at_test" - ;; + *) at_msg="FAILED near \``cat at-check-line`'" + at_fail_list="$at_fail_list $at_test" + ;; esac echo $at_msg at_log_msg="$at_test. $at_setup_line: $at_msg"