]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
* m4sugar.m4 (m4_divert, m4_undivert): Support named diversions.
authorAkim Demaille <akim@epita.fr>
Thu, 23 Nov 2000 09:53:26 +0000 (09:53 +0000)
committerAkim Demaille <akim@epita.fr>
Thu, 23 Nov 2000 09:53:26 +0000 (09:53 +0000)
* tests/atgeneral.m4 (_m4_divert(SUITE_PRO), _m4_divert(TESTS))
(_m4_divert(SUITE_EPI), _m4_divert(TEST)): New diversions.
Push the first two diversions.
(AT_INIT): Don't.
(AT_INIT, AT_SETUP, AT_CLEANUP): Adjust to use the named
diversions.

ChangeLog
lib/autotest/general.m4
lib/m4sugar/m4sugar.m4
m4sugar.m4
tests/atgeneral.m4

index 7a940d354e6833d9d59268f345c00ad63ca1c508..e23e981e8cab2fafec424c3a9c390dd2f55f07bb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2000-11-23  Akim Demaille  <akim@epita.fr>
+
+       * m4sugar.m4 (m4_divert, m4_undivert): Support named diversions.
+       * tests/atgeneral.m4 (_m4_divert(SUITE_PRO), _m4_divert(TESTS))
+       (_m4_divert(SUITE_EPI), _m4_divert(TEST)): New diversions.
+       Push the first two diversions.
+       (AT_INIT): Don't.
+       (AT_INIT, AT_SETUP, AT_CLEANUP): Adjust to use the named
+       diversions.
+
 2000-11-23  Akim Demaille  <akim@epita.fr>
 
        * tests/atgeneral.m4 (AT_CLEANUP): Factor the computation of
index 34eb4a33036e9658ae1fac44eb689d1739a4e678..0350fa8cd0645345a1e869cc9c5f21ab43f7183d 100644 (file)
@@ -54,9 +54,27 @@ m4_define([AT_UNDEFINE], m4_defn([m4_undefine]))
 
 
 # Use of diversions:
-#  0 - overall initialization; for each test group: skipping and cleanups;
-#  2 - for each test group: proper code, to reinsert between cleanups;
-#  3 - overall wrap up: generation of debugging scripts and statistics.
+#
+#  - SUITE_PRO
+#    overall initialization
+#  - TESTS
+#    The core of the test suite, the ``normal'' diversion.
+#  - SUITE_EPI
+#    tail of the core for;case, overall wrap up, generation of debugging
+#    scripts and statistics.
+#
+#  - TEST
+#    for each test group: proper code, to reinsert between cleanups;
+#    undiverted into TESTS once at_data_files diverted.
+
+m4_define([_m4_divert(SUITE_PRO)],        0)
+m4_define([_m4_divert(TESTS)],           10)
+m4_define([_m4_divert(SUITE_EPI)],       20)
+
+m4_define([_m4_divert(TEST)],           100)
+
+m4_divert_push([TESTS])
+m4_divert_push([KILL])
 
 
 # AT_LINE
@@ -71,7 +89,7 @@ AT_DEFINE([AT_LINE],
 # Begin testing suite, using PROGRAM to check version.  The search path
 # should be already preset so the proper executable will be selected.
 AT_DEFINE([AT_INIT],
-[m4_divert_push(0)dnl
+[m4_divert_push([SUITE_PRO])dnl
 AT_DEFINE([AT_ordinal], 0)
 . ./atconfig
 # -e sets to true
@@ -148,15 +166,14 @@ fi
 at_failed_list=
 at_ignore_count=0
 at_test_count=0
-m4_divert_push(1)dnl
+m4_divert([TESTS])dnl
 
 : ${tests="$TESTS"}
 for test in $tests
 do
   at_status=0;
   case $test in
-m4_divert_pop[]dnl
-m4_divert_push(3)[]dnl
+m4_divert([SUITE_EPI])[]dnl
   esac
   at_test_count=`expr 1 + $at_test_count`
   $at_verbose $at_n "     $test. $srcdir/`cat at-setup-line`: $at_c"
@@ -234,9 +251,7 @@ fi
 
 exit 0
 m4_divert_pop()dnl
-m4_divert_push(1)dnl
-m4_divert_push([KILL])dnl
-m4_wrap([m4_divert_text(0,
+m4_wrap([m4_divert_text([SUITE_PRO],
                         [TESTS="m4_for([i], 1, AT_ordinal, 1, [i ])"])])dnl
 ])# AT_INIT
 
@@ -249,10 +264,10 @@ m4_wrap([m4_divert_text(0,
 AT_DEFINE([AT_SETUP],
 [AT_DEFINE([AT_ordinal], m4_eval(AT_ordinal + 1))
 m4_pushdef([AT_data_files], [stdout stderr ])
-m4_divert_pop()dnl
+m4_divert_push([TESTS])dnl
   AT_ordinal )
 dnl Here will be inserted the definition of at_data_files.
-m4_divert(2)[]dnl
+m4_divert([TEST])[]dnl
     rm -rf $at_data_files
     echo AT_LINE > at-setup-line
     $at_verbose 'testing $1'
@@ -302,11 +317,11 @@ AT_DEFINE([AT_CLEANUP],
     )
     at_status=$?
     ;;
-m4_divert(1)[]dnl
+m4_divert([TESTS])[]dnl
     at_data_files="AT_data_files"
-m4_undivert(2)[]dnl
+m4_undivert([TEST])[]dnl
 m4_popdef([AT_data_files])dnl
-m4_divert_push([KILL])dnl
+m4_divert_pop()dnl
 ])# AT_CLEANUP
 
 
index 65073d5ad41211896e2c4a9ec41bc69ca95ac894..cccb5c99d23ebc7a356c2f5a5c41e3e488d27c62 100644 (file)
@@ -114,7 +114,7 @@ m4_rename_m4([changequote])
 m4_rename_m4([debugfile])
 m4_rename_m4([debugmode])
 m4_rename_m4([decr])
-m4_rename_m4([divert])
+m4_undefine([divert])
 m4_rename_m4([dumpdef])
 m4_rename_m4([eval])
 m4_rename_m4([format])
@@ -137,7 +137,7 @@ m4_rename_m4([sysval])
 m4_rename_m4([traceoff])
 m4_rename_m4([traceon])
 m4_rename_m4([translit])
-m4_rename_m4([undivert])
+m4_undefine([undivert])
 
 
 ## ------------------- ##
@@ -641,6 +641,22 @@ m4_define([_m4_divert],
 m4_define([_m4_divert(KILL)],           -1)
 
 
+# m4_divert(DIVERSION-NAME)
+# -------------------------
+# Change the diversion stream to DIVERSION-NAME.
+m4_define([m4_divert],
+[m4_builtin([divert], _m4_divert([$1]))dnl
+])
+
+
+# m4_undivert(DIVERSION-NAME)
+# ---------------------------
+# Undivert DIVERSION-NAME.
+m4_define([m4_undivert],
+[m4_builtin([undivert], _m4_divert([$1]))dnl
+])
+
+
 # m4_divert_push(DIVERSION-NAME)
 # ------------------------------
 # Change the diversion stream to DIVERSION-NAME, while stacking old values.
index 65073d5ad41211896e2c4a9ec41bc69ca95ac894..cccb5c99d23ebc7a356c2f5a5c41e3e488d27c62 100644 (file)
@@ -114,7 +114,7 @@ m4_rename_m4([changequote])
 m4_rename_m4([debugfile])
 m4_rename_m4([debugmode])
 m4_rename_m4([decr])
-m4_rename_m4([divert])
+m4_undefine([divert])
 m4_rename_m4([dumpdef])
 m4_rename_m4([eval])
 m4_rename_m4([format])
@@ -137,7 +137,7 @@ m4_rename_m4([sysval])
 m4_rename_m4([traceoff])
 m4_rename_m4([traceon])
 m4_rename_m4([translit])
-m4_rename_m4([undivert])
+m4_undefine([undivert])
 
 
 ## ------------------- ##
@@ -641,6 +641,22 @@ m4_define([_m4_divert],
 m4_define([_m4_divert(KILL)],           -1)
 
 
+# m4_divert(DIVERSION-NAME)
+# -------------------------
+# Change the diversion stream to DIVERSION-NAME.
+m4_define([m4_divert],
+[m4_builtin([divert], _m4_divert([$1]))dnl
+])
+
+
+# m4_undivert(DIVERSION-NAME)
+# ---------------------------
+# Undivert DIVERSION-NAME.
+m4_define([m4_undivert],
+[m4_builtin([undivert], _m4_divert([$1]))dnl
+])
+
+
 # m4_divert_push(DIVERSION-NAME)
 # ------------------------------
 # Change the diversion stream to DIVERSION-NAME, while stacking old values.
index 34eb4a33036e9658ae1fac44eb689d1739a4e678..0350fa8cd0645345a1e869cc9c5f21ab43f7183d 100644 (file)
@@ -54,9 +54,27 @@ m4_define([AT_UNDEFINE], m4_defn([m4_undefine]))
 
 
 # Use of diversions:
-#  0 - overall initialization; for each test group: skipping and cleanups;
-#  2 - for each test group: proper code, to reinsert between cleanups;
-#  3 - overall wrap up: generation of debugging scripts and statistics.
+#
+#  - SUITE_PRO
+#    overall initialization
+#  - TESTS
+#    The core of the test suite, the ``normal'' diversion.
+#  - SUITE_EPI
+#    tail of the core for;case, overall wrap up, generation of debugging
+#    scripts and statistics.
+#
+#  - TEST
+#    for each test group: proper code, to reinsert between cleanups;
+#    undiverted into TESTS once at_data_files diverted.
+
+m4_define([_m4_divert(SUITE_PRO)],        0)
+m4_define([_m4_divert(TESTS)],           10)
+m4_define([_m4_divert(SUITE_EPI)],       20)
+
+m4_define([_m4_divert(TEST)],           100)
+
+m4_divert_push([TESTS])
+m4_divert_push([KILL])
 
 
 # AT_LINE
@@ -71,7 +89,7 @@ AT_DEFINE([AT_LINE],
 # Begin testing suite, using PROGRAM to check version.  The search path
 # should be already preset so the proper executable will be selected.
 AT_DEFINE([AT_INIT],
-[m4_divert_push(0)dnl
+[m4_divert_push([SUITE_PRO])dnl
 AT_DEFINE([AT_ordinal], 0)
 . ./atconfig
 # -e sets to true
@@ -148,15 +166,14 @@ fi
 at_failed_list=
 at_ignore_count=0
 at_test_count=0
-m4_divert_push(1)dnl
+m4_divert([TESTS])dnl
 
 : ${tests="$TESTS"}
 for test in $tests
 do
   at_status=0;
   case $test in
-m4_divert_pop[]dnl
-m4_divert_push(3)[]dnl
+m4_divert([SUITE_EPI])[]dnl
   esac
   at_test_count=`expr 1 + $at_test_count`
   $at_verbose $at_n "     $test. $srcdir/`cat at-setup-line`: $at_c"
@@ -234,9 +251,7 @@ fi
 
 exit 0
 m4_divert_pop()dnl
-m4_divert_push(1)dnl
-m4_divert_push([KILL])dnl
-m4_wrap([m4_divert_text(0,
+m4_wrap([m4_divert_text([SUITE_PRO],
                         [TESTS="m4_for([i], 1, AT_ordinal, 1, [i ])"])])dnl
 ])# AT_INIT
 
@@ -249,10 +264,10 @@ m4_wrap([m4_divert_text(0,
 AT_DEFINE([AT_SETUP],
 [AT_DEFINE([AT_ordinal], m4_eval(AT_ordinal + 1))
 m4_pushdef([AT_data_files], [stdout stderr ])
-m4_divert_pop()dnl
+m4_divert_push([TESTS])dnl
   AT_ordinal )
 dnl Here will be inserted the definition of at_data_files.
-m4_divert(2)[]dnl
+m4_divert([TEST])[]dnl
     rm -rf $at_data_files
     echo AT_LINE > at-setup-line
     $at_verbose 'testing $1'
@@ -302,11 +317,11 @@ AT_DEFINE([AT_CLEANUP],
     )
     at_status=$?
     ;;
-m4_divert(1)[]dnl
+m4_divert([TESTS])[]dnl
     at_data_files="AT_data_files"
-m4_undivert(2)[]dnl
+m4_undivert([TEST])[]dnl
 m4_popdef([AT_data_files])dnl
-m4_divert_push([KILL])dnl
+m4_divert_pop()dnl
 ])# AT_CLEANUP