[], [$2],
[$3])])
+# AT_SETUP_STRIP(TITLE)
+# ---------------------
+# Abbreviate the TITLE to be passed to AT_SETUP.
+m4_define([AT_SETUP_STRIP],
+[m4_bpatsubsts([$1],
+ [%\(language\|skeleton\) "?\([^\" ]*\)"?],
+ [\2],
+ [%define "?\([-A-Za-z0-9_.]+\)"? \("\([^\" ]+\)"\|\([-A-Za-z0-9_.]+\)\)],
+ [\1=\3\4],
+ [%define "?\([-A-Za-z0-9_.]+\)"?],
+ [\1])dnl
+])
+
+
## ------------- ##
## Basic tests. ##
## ------------- ##
+
## ----------------------- ##
## Launch the test suite. ##
## ----------------------- ##
AT_INIT
+# AT_SETUP([TITLE])
+# -----------------
+# Redefine AT_SETUP to be more concise. Must be done after AT_INIT.
+m4_copy_force([AT_SETUP], [B4_SETUP])
+m4_define([AT_SETUP],
+[B4_SETUP(m4_expand([AT_SETUP_STRIP([[$1]])]))])
+
# Cannot assign CC and CFLAGS here, since atlocal is loaded after
# options are processed, so we don't know the value of CXX and
# CXXFLAGS yet.
## ----------- ##
m4_pushdef([AT_TEST],
-[AT_SETUP([%no-lines])
+[AT_SETUP([%no-lines: $1])
AT_BISON_OPTION_PUSHDEFS([%skeleton "$1" %defines])
AT_DATA_GRAMMAR([input.y],