From: Ralf Wildenhues Date: Mon, 2 Aug 2010 19:10:00 +0000 (+0200) Subject: Ensure unnamed test group categories are separated from previous. X-Git-Tag: v2.68~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a5e9aa68b7acc9cd1819c665e885125c267e6b3f;p=thirdparty%2Fautoconf.git Ensure unnamed test group categories are separated from previous. * doc/autoconf.texi (Writing Testsuites) : Update description. * lib/autotest/general.m4 (AT_INIT) : Set banner to single space, not empty line, once printed. For empty banners, print a single empty line to separate them from a previous test group category. * tests/autotest.at (Banners): Insert another test group; adjust tests accordingly. Extend test to cover semantic change. * NEWS: Update. Signed-off-by: Ralf Wildenhues --- diff --git a/ChangeLog b/ChangeLog index 34133cb3..9dbd2cc1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2010-08-02 Ralf Wildenhues + + Ensure unnamed test group categories are separated from previous. + * doc/autoconf.texi (Writing Testsuites) : Update + description. + * lib/autotest/general.m4 (AT_INIT) : Set banner + to single space, not empty line, once printed. For empty + banners, print a single empty line to separate them from a + previous test group category. + * tests/autotest.at (Banners): Insert another test group; adjust + tests accordingly. Extend test to cover semantic change. + * NEWS: Update. + 2010-07-31 Ralf Wildenhues Fix typos in perlpod docs. diff --git a/NEWS b/NEWS index b59716ca..d7c74dfe 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,9 @@ GNU Autoconf NEWS - User visible changes. * Noteworthy changes in release ?.? (????-??-??) [?] +** AT_BANNER() with empty argument will cause visual separation from previous + test category. + * Major changes in Autoconf 2.67 (2010-07-21) [stable] Released by Eric Blake, based on git versions 2.66.*. diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 7e804a73..df0e298d 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -23755,9 +23755,8 @@ When the resulting @file{testsuite} is invoked with more than one test group to run, its output will include a banner containing @var{test-category-name} prior to any tests run from that category. The banner should be no more than about 40 or 50 characters. A blank banner -will not print, effectively ending a category and letting subsequent -test groups behave as though they are uncategorized when run in -isolation. +indicates uncategorized tests; an empty line will be inserted after +tests from an earlier category, effectively ending that category. @end defmac @defmac AT_SETUP (@var{test-group-name}) diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index ba576e3d..170200c9 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -233,7 +233,7 @@ case $at_groups in at_print_banners=: ;; * ) at_print_banners=false ;; esac -# Text for banner N, set to empty once printed. +# Text for banner N, set to a single space once printed. m4_divert_pop([BANNERS])dnl back to DEFAULTS m4_divert_push([PREPARE_TESTS])dnl @@ -246,9 +246,13 @@ at_fn_banner () { $at_print_banners || return 0 eval at_banner_text=\$at_banner_text_$[1] - test "x$at_banner_text" = x && return 0 - eval at_banner_text_$[1]= - AS_ECHO(["$as_nl$at_banner_text$as_nl"]) + test "x$at_banner_text" = "x " && return 0 + eval "at_banner_text_$[1]=\" \"" + if test -z "$at_banner_text"; then + $at_first || echo + else + AS_ECHO(["$as_nl$at_banner_text$as_nl"]) + fi } # at_fn_banner AS_FUNCTION_DESCRIBE([at_fn_check_prepare_notrace], [REASON LINE], diff --git a/tests/autotest.at b/tests/autotest.at index fd3787a4..c03c126d 100644 --- a/tests/autotest.at +++ b/tests/autotest.at @@ -956,15 +956,18 @@ AT_CHECK(:) AT_CLEANUP AT_BANNER() -AT_SETUP(two)# 4 +AT_SETUP(two a)# 4 +AT_CHECK(:) +AT_CLEANUP +AT_SETUP(two b)# 5 AT_CHECK(:) AT_CLEANUP AT_BANNER([second]) -AT_SETUP(three a)# 5 +AT_SETUP(three a)# 6 AT_CHECK(:) AT_CLEANUP -AT_SETUP(three b)# 6 +AT_SETUP(three b)# 7 AT_CHECK(:) AT_CLEANUP ]]) @@ -983,8 +986,11 @@ AT_CHECK_BANNERS([-2], [first], [1], [second], [0]) AT_CHECK_BANNERS([-3], [first], [1], [second], [0]) AT_CHECK_BANNERS([-k one], [first], [1], [second], [0]) AT_CHECK_BANNERS([3-4], [first], [1], [second], [0]) -AT_CHECK_BANNERS([3-5], [first], [1], [second], [1]) -AT_CHECK_BANNERS([4-5], [first], [0], [second], [1]) +dnl There should be an empty line separating the first category from the +dnl unnamed one. +AT_CHECK([sed -n '/one b/,/two a/p' stdout | grep '^$'], [0], [ignore]) +AT_CHECK_BANNERS([3-6], [first], [1], [second], [1]) +AT_CHECK_BANNERS([4-6], [first], [0], [second], [1]) AT_CHECK_BANNERS([3-], [first], [1], [second], [1]) AT_CHECK_BANNERS([-k a], [first], [1], [second], [1]) AT_CHECK_BANNERS([4], [first], [0], [second], [0])