autoconf-commit
[Top][All Lists]
Advanced

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

[SCM] GNU Autoconf source repository branch, master, updated. v2.61a-381


From: Eric Blake
Subject: [SCM] GNU Autoconf source repository branch, master, updated. v2.61a-381-gf79a055
Date: Tue, 11 Mar 2008 13:22:59 +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=f79a05503dad2e4d1c14c6b9652cac7be2628a3a

The branch, master has been updated
       via  f79a05503dad2e4d1c14c6b9652cac7be2628a3a (commit)
       via  24093173fd893fe24de2315d4c76c7fd5c23325a (commit)
      from  fd8b6f47277e16cd3e4f245f4b2294b0de73cce5 (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 f79a05503dad2e4d1c14c6b9652cac7be2628a3a
Author: Eric Blake <address@hidden>
Date:   Wed Mar 5 09:32:04 2008 -0700

    Encode nested autotest data.
    
    * tests/autotest.at (AT_CHECK_AT_PREP): Avoid raw AT_ in output.
    (unusual file names): Likewise.
    (m4_pattern_allow): Remove loophole, to make it easier to catch
    poorly written tests.
    
    Signed-off-by: Eric Blake <address@hidden>

commit 24093173fd893fe24de2315d4c76c7fd5c23325a
Author: Eric Blake <address@hidden>
Date:   Wed Mar 5 09:20:23 2008 -0700

    Factor some autotest tests.
    
    * tests/autotest.at (AT_CHECK_AT_PREP): New macro, to factor out
    common initialization.
    (AT_CHECK_AT, Banners, Keywords and ranges, srcdir propagation)
    (whitespace in absolute testdir, unusual file names): Use it.
    
    Signed-off-by: Eric Blake <address@hidden>

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

Summary of changes:
 ChangeLog         |   14 ++++++
 tests/autotest.at |  127 ++++++++++++++++++++++------------------------------
 2 files changed, 68 insertions(+), 73 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 0281018..4576d29 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2008-03-10  Eric Blake  <address@hidden>
+
+       Encode nested autotest data.
+       * tests/autotest.at (AT_CHECK_AT_PREP): Avoid raw AT_ in output.
+       (unusual file names): Likewise.
+       (m4_pattern_allow): Remove loophole, to make it easier to catch
+       poorly written tests.
+
+       Factor some autotest tests.
+       * tests/autotest.at (AT_CHECK_AT_PREP): New macro, to factor out
+       common initialization.
+       (AT_CHECK_AT, Banners, Keywords and ranges, srcdir propagation)
+       (whitespace in absolute testdir, unusual file names): Use it.
+
 2008-03-06  Eric Blake  <address@hidden>
 
        Minor documentation fix.
diff --git a/tests/autotest.at b/tests/autotest.at
index 78d8a8a..fea0adc 100644
--- a/tests/autotest.at
+++ b/tests/autotest.at
@@ -18,6 +18,37 @@ AT_BANNER([Autotest.])
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+# AT_CHECK_AT_PREP(NAME, SUITE-CODE, [STATUS = 0], [STDOUT], [STDERR],
+#                  [DIR = .])
+# --------------------------------------------------------------------
+# Create a new testsuite named NAME that runs a minimal Autotest test suite,
+# SUITE-CODE.  Do not use `testsuite' for NAME, or the log file it generates
+# will overwrite the log that the Autoconf test produces when managing
+# this test case.  STATUS, STDOUT, and STDERR pass directly to the AT_CHECK
+# that compiles the testsuite.  DIR can specify a particular subdirectory
+# where the testsuite should live.
+m4_define([AT_CHECK_AT_PREP],
+[AT_KEYWORDS([autotest])dnl
+dnl overquote AT_dir, to make it easier to use
+m4_pushdef([AT_dir], m4_ifval([$6], [[[$6]]], [.]))dnl
+dnl
+AT_CAPTURE_FILE([$1.log])dnl
+dnl
+AT_DATA(AT_dir[/package.m4],
+[[m4_define([AT@&address@hidden,      [GNU Nonsense])
+m4_define([AT@&address@hidden,   [nonsense])
+m4_define([AT@&address@hidden,   [1.0])
+m4_define([AT@&address@hidden,    [GNU Nonsense 1.0])
+m4_define([AT@&address@hidden, address@hidden)
+]])
+dnl
+AT_DATA(AT_dir[/$1.at], m4_bpatsubst([[$2]], [AT_], [AT@&address@hidden))
+m4_ifval([$6], [(cd AT_dir])
+AT_CHECK_AUTOM4TE([--language=autotest -o $1 $1.at], [$3], [$4], [$5])
+m4_ifval([$6], [)])
+m4_popdef([AT_dir])dnl
+]) # AT_CHECK_AT_PREP
+
 # AT_CHECK_AT(TITLE, SUITE-CODE, [XFAIL-CONDITION], [STATUS = 0],
 #             [STDOUT := ignore], STDERR, [POST-TEST-CODE])
 # ---------------------------------------------------------------
@@ -27,28 +58,14 @@ AT_BANNER([Autotest.])
 # used, but it is reserved for future use.  Run POST-TEST-CODE
 # at the top level after the micro-suite has been run.
 m4_define([AT_CHECK_AT],
-[
-AT_SETUP([$1])
-AT_KEYWORDS([autotest])
-AT_CAPTURE_FILE([micro-suite.log])
+[AT_SETUP([$1])
 AT_XFAIL_IF([$3])
+AT_CHECK_AT_PREP([micro-suite], [$2])
 
-AT_DATA([package.m4],[[
-m4_define([AT_PACKAGE_NAME],      [GNU Nonsense])
-m4_define([AT_PACKAGE_TARNAME],   [nonsense])
-m4_define([AT_PACKAGE_VERSION],   [1.0])
-m4_define([AT_PACKAGE_STRING],    [GNU Nonsense 1.0])
-m4_define([AT_PACKAGE_BUGREPORT], address@hidden)
-]])
-
-AT_DATA([mysuite.at], [$2])
-
-# Do not use `testsuite' as the name of the small test suite, or the
-# log file it generates will overwrite the log that the Autoconf test
-# suite produces for this test case.
-AT_CHECK_AUTOM4TE([--language=autotest -o micro-suite mysuite.at])
-AT_CHECK([$CONFIG_SHELL ./micro-suite],       m4_default([$4], 0), [ignore], 
[$6])
-AT_CHECK([$CONFIG_SHELL ./micro-suite -v -x], m4_default([$4], 0), [ignore], 
[$6])
+AT_CHECK([$CONFIG_SHELL ./micro-suite],       m4_default([$4], 0),
+         [ignore], [$6])
+AT_CHECK([$CONFIG_SHELL ./micro-suite -v -x], m4_default([$4], 0),
+         [ignore], [$6])
 $7
 AT_CLEANUP
 ])# AT_CHECK_AT
@@ -66,9 +83,6 @@ $2
 AT_CLEANUP
 ]], m4_shift2($@))])
 
-# Here documents for these tests contain forbidden macros.
-m4_pattern_allow([^AT_])
-
 # AT_NO_CMDSUBST
 # --------------
 m4_define([AT_NO_CMDSUBST],
@@ -470,12 +484,9 @@ AT_CHECK([$CONFIG_SHELL ./micro-suite -C nonesuch --help], 
[0], [ignore], [])
 ## Banners. ##
 ## -------- ##
 AT_SETUP([Banners])
-AT_KEYWORDS([autotest])
 
-AT_DATA([b.at],
-[[m4_define([AT_PACKAGE_STRING],[b])
-m4_define([AT_PACKAGE_BUGREPORT],[devnull])
-AT_INIT
+AT_CHECK_AT_PREP([b],
+[[AT_INIT
 AT_SETUP(zero)# 1
 AT_CHECK(:)
 AT_CLEANUP
@@ -488,7 +499,6 @@ AT_SETUP(one b)# 3
 AT_CHECK(:)
 AT_CLEANUP
 
-
 AT_BANNER()
 AT_SETUP(two)# 4
 AT_CHECK(:)
@@ -502,7 +512,6 @@ AT_SETUP(three b)# 6
 AT_CHECK(:)
 AT_CLEANUP
 ]])
-AT_CHECK_AUTOM4TE([--language=autotest -o b b.at])
 
 # AT_CHECK_BANNERS(TESTSUITE-OPTIONS, PATTERN1, COUNT1, PATTERN2, COUNT2)
 m4_define([AT_CHECK_BANNERS],
@@ -536,12 +545,9 @@ AT_CLEANUP
 ## Keywords. ##
 ## --------- ##
 AT_SETUP([Keywords and ranges])
-AT_KEYWORDS([autotest])
 
-AT_DATA([k.at],
-[[m4_define([AT_PACKAGE_STRING],[k])
-m4_define([AT_PACKAGE_BUGREPORT],[devnull])
-AT_INIT
+AT_CHECK_AT_PREP([k],
+[[AT_INIT
 AT_SETUP(none)
 AT_CHECK(:)
 AT_CLEANUP
@@ -559,7 +565,6 @@ AT_KEYWORDS([key1])
 AT_CHECK(:)
 AT_CLEANUP
 ]])
-AT_CHECK_AUTOM4TE([--language=autotest -o k k.at])
 dnl check that AT_KEYWORDS does not duplicate words
 AT_CHECK([grep 'key1.*key1' k], [1])
 dnl check that -k requires an argument
@@ -623,8 +628,6 @@ AT_CLEANUP
 ## ------------------- ##
 
 AT_SETUP([srcdir propagation])
-AT_KEYWORDS([autotest])
-AT_CAPTURE_FILE([suite.log])
 
 mkdir pkg vpath-outside vpath-abs
 mkdir pkg/t pkg/vpath-inside
@@ -641,20 +644,12 @@ cd pkg
 AT_CHECK_AUTOCONF
 cd ..
 
-AT_DATA([pkg/t/suite.at],
-[[m4_define([AT_PACKAGE_NAME],    [GNU Nonsense])
-m4_define([AT_PACKAGE_TARNAME],   [nonsense])
-m4_define([AT_PACKAGE_VERSION],   [1.0])
-m4_define([AT_PACKAGE_STRING],    [GNU Nonsense 1.0])
-m4_define([AT_PACKAGE_BUGREPORT], address@hidden)
-AT_INIT([suite to check srcdir])
+AT_CHECK_AT_PREP([suite],
+[[AT_INIT([suite to check srcdir])
 AT_SETUP([my only test])
 AT_CHECK([test -f "$top_srcdir"/a && test -f "$srcdir"/b])
 AT_CLEANUP
-]])
-cd pkg/t
-AT_CHECK_AUTOM4TE([--language=autotest -o suite suite.at])
-cd ../..
+]], [], [], [], [pkg/t])
 
 # Build directory totally outside source directory.
 cd vpath-outside
@@ -699,7 +694,6 @@ AT_CLEANUP
 ## ------------------------------ ##
 
 AT_SETUP([whitespace in absolute testdir])
-AT_KEYWORDS([autotest])
 
 dir='dir with  whitespace'
 mkdir "$dir"
@@ -707,18 +701,12 @@ cd "$dir"
 wd=`pwd`
 
 AT_DATA([a])
-AT_DATA([suite.at],
-[[m4_define([AT_PACKAGE_NAME],    [GNU Nonsense])
-m4_define([AT_PACKAGE_TARNAME],   [nonsense])
-m4_define([AT_PACKAGE_VERSION],   [1.0])
-m4_define([AT_PACKAGE_STRING],    [GNU Nonsense 1.0])
-m4_define([AT_PACKAGE_BUGREPORT], address@hidden)
-AT_INIT([suite to check srcdir])
+AT_CHECK_AT_PREP([suite],
+[[AT_INIT([suite to check srcdir])
 AT_SETUP([my only test])
 AT_CHECK([test -f "$top_srcdir"/a])
 AT_CLEANUP
 ]])
-AT_CHECK_AUTOM4TE([--language=autotest -o suite suite.at])
 AT_CHECK([top_srcdir=$wd ./suite], [0], [ignore])
 AT_CHECK([top_srcdir=$wd ./suite -d], [0], [ignore])
 AT_CHECK([cd suite.dir/1 && ./run top_srcdir="$wd"], [0], [ignore], [ignore])
@@ -730,32 +718,25 @@ AT_CLEANUP
 ## ------------------ ##
 
 AT_SETUP([unusual file names])
-AT_KEYWORDS([autotest])
 
 AT_DATA_M4SUGAR([d@&address@hidden,
-[[AT_SETUP([test one])
+[[AT@&address@hidden([test one])
 m4_pattern_allow([^dnl$])
-AT_CHECK([test "]m4_dquote(AT_LINE)[" = dn[]l.at:3])
-AT_CLEANUP
+AT@&address@hidden([test "]m4_dquote(AT@&address@hidden)[" = dn[]l.at:3])
+AT@&address@hidden
 ]])
 
 mkdir sub
 AT_DATA_M4SUGAR([sub/"two  spaces".at],
-[[AT_SETUP([test two])
-AT_CHECK([test "]m4_dquote(AT_LINE)[" = "two  spaces.at:2"])
-AT_CLEANUP
+[[AT@&address@hidden([test two])
+AT@&address@hidden([test "]m4_dquote(AT@&address@hidden)[" = "two  
spaces.at:2"])
+AT@&address@hidden
 ]])
 
-AT_DATA([suite.at],
-[[m4_define([AT_PACKAGE_NAME],    [GNU Nonsense])
-m4_define([AT_PACKAGE_TARNAME],   [nonsense])
-m4_define([AT_PACKAGE_VERSION],   [1.0])
-m4_define([AT_PACKAGE_STRING],    [GNU Nonsense 1.0])
-m4_define([AT_PACKAGE_BUGREPORT], address@hidden)
-AT_INIT([suite to check included file names])
+AT_CHECK_AT_PREP([suite],
+[[AT_INIT([suite to check included file names])
 m4@&address@hidden([d][nl.at])
 m4@&address@hidden([sub/two  spaces.at])
 ]])
-AT_CHECK_AUTOM4TE([--language=autotest -o suite suite.at])
 AT_CHECK([$CONFIG_SHELL ./suite], [0], [ignore])
 AT_CLEANUP


hooks/post-receive
--
GNU Autoconf source repository




reply via email to

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