Commit Graph

100 Commits

Author SHA1 Message Date
Akim Demaille
fcd2734d6a * lib/m4sugar/m4sugar.m4 (_AS_QUOTE_IFELSE, _AS_BOX_INDIR): Use
m4_match.
(m4_re_escape): New.
* lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER): Use it.
* lib/autoconf/general.m4 (AC_CACHE_SAVE): Use m4_match.
* lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER, AC_CONFIG_LINKS):
Likewise.
* lib/autoconf/types.m4 (_AC_CHECK_TYPE_REPLACEMENT_TYPE_P)
(_AC_CHECK_TYPE_MAYBE_TYPE_P, AC_CHECK_MEMBER): Likewise.
* lib/autotest/general.m4 (AT_INIT): Rename AT_TESTS_ALL as
AT_tests_all for consistency.
Set at_victims.
(AT_VICTIMS): Similar to AT_KEYWORDS.
(_AT_CLEANUP_FILE_IF): Use m4_match and m4_re_escape.
2001-09-13 06:57:29 +00:00
Akim Demaille
a1c1be5c45 * lib/autotest/general.m4 (AT_INIT): Fix stupid bugs. 2001-09-13 06:57:14 +00:00
Akim Demaille
b13885b690 * lib/autotest/general.m4 (AT_INIT): Create and remove
`$as_me.[0-9]+' instead of `debug-[0-9]+.sh', so that multiple
test suites can cohabit.
2001-09-13 06:57:01 +00:00
Akim Demaille
5216ece6a8 Test suites can be run independently of configure.
* lib/m4sugar/m4sh.m4 (_AS_ECHO, _AS_ECHO_N_PREPARE): New.
* lib/autoconf/programs.m4 (_AC_PROG_ECHO): Remove.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE): Adjust: AC_SUBST
ECHO_N etc.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't ask for at_n
and at_c.
* lib/autotest/general.m4: Use ECHO_*.
2001-09-13 06:56:31 +00:00
Akim Demaille
c77d29d43d * lib/autotest/general.m4 (AT_INIT): Let --keywords also match
test group titles.
* tests/atspecific.m4 (AT_CHECK_AU_MACRO): AT_KEYWORDS(autoupdate).
Remove all the other keywords.
2001-09-13 06:53:19 +00:00
Akim Demaille
10b30c8904 * lib/autotest/general.m4 (AT_INIT): Remove the diversion HELP and
SETUP: no longer used.
Support -k, --keywords.
<at_help>: Be `no', `short', or `long'.
<at_help_all>: New variable.
(AT_KEYWORDS): New.
(AT_CLEANUP_FILE_IFELSE, AT_CLEANUP_FILE): Rename as...
(_AT_CLEANUP_FILE_IF, _AT_CLEANUP_FILE): these.
(_AT_CLEANUP_FILE_IF): Simplify the regexp.
(AT_SETUP): Reset AT_line, AT_keywords, AT_description.
No longer fill the HELP diversion.
(AT_CLEANUP): Use them.
* lib/m4sugar/m4sugar.m4 (m4_append): Support a separator.
(m4_list_append): Remove.
Spread a few keywords in the Autoconf test suite.
2001-09-10 07:18:17 +00:00
Akim Demaille
4494f57cd6 * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't pass
PATH_SEPARATOR, let M4sh compute it.
* lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): New.
* lib/autoconf/programs.m4 (AC_SHELL_PATH_WALK): Use PATH_SEPARATOR.
Move to...
* lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Here.
Simplify when the path is not a literal.
(AS_UNAME): Use it to report PATH.
* lib/autoconf/general.m4 (_AC_INIT_PREPARE_FS_SEPARATORS): Remove.
(_AC_INIT_DEFAULTS): AC_SUBST PATH_SEPARATOR.
* lib/autoconf/programs.m4 (AC_PROG_INSTALL): Use _AS_PATH_WALK.
* lib/autotest/general.m4 (AT_INIT): Use _AS_PATH_WALK to
normalize the path, and to look for victims.
* tests/semantics.at (AC_PATH_PROG & AC_PATH_PROGS)
(AC_CHECK_PROG & AC_CHECK_PROGS): Use PATH_SEPARATOR.
2001-09-10 07:17:41 +00:00
Akim Demaille
5fd6e6f70a * bin/autom4te.in (&handle_m4): `< /dev/null' so that GNU M4 1.5
doesn't neutralize SIGINT, making autoconf etc. non interruptible.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Move the package
related variables into `at_package_*'.
* lib/autotest/general.m4 (AT_VICTIMS): New.
(AT_INIT): Adjust for stand-alone/embedded test suites.
(AS_MESSAGE_LOG_FD): Define and use it.
* tests/suite.at (AT_VICTIMS): Use it.
* tests/tools.at (autoupdating AC_PREREQ): Don't depend upon
at_version.
2001-09-07 08:26:57 +00:00
Akim Demaille
c7ae939c1d Move toward possibly stand-alone test suites.
* lib/autotest/general.m4: Stop displaying srcdir everywhere as,
in addition, it introduces useless differences in logs.
(AT_INIT): Let atconfig and atlocal be both optional.
Adjust PATH computation.
* lib/m4sugar/m4sh.m4 (AS_UNAME): More readable display of PATH.
2001-09-07 07:20:26 +00:00
Akim Demaille
7d6abb82f3 Be ready to handle filenames as stupid as `dnl.at', for if even
the maintainer is dumb enough to do that...
* lib/autotest/general.m4 (AT_SETUP, AT_LINE): Demonstrates your
excellence in M4 quotation: consider `__file__' is active.
And BTW, when invoking m4, pass the --include in the right order:
the wrong one.
* bin/autom4te.in, bin/autoupdate.in: Use reverse when kingtal to
4m.
2001-09-05 07:06:58 +00:00
Akim Demaille
27661c3a8b * lib/autotest/general.m4 (AT_INIT): Don't pass all the args to
debug scripts, in particular passing explicitly listed tests to
run is stupid.
2001-08-31 13:34:46 +00:00
Akim Demaille
1b9b5dd33a * configure.ac: Also find tested executables in bin.
* bin/autoconf.in, bin/autoheader.in, bin/autoreconf.in,
* bin/autoscan.in, autoupdate.in: Use exclusively the name of the
installed peer executables, only PATH is allowed to resolve it.
Pass `autoconf_dir' via options, not via invisible envvars.
* lib/Autom4te/General.pm (&find_peer): Remove.
* lib/autotest/general.m4 (AT_INIT): `AUTOTEST_PATH=a:b' gives
`abuild:asrc:bbuild:bsrc', not `abuild:bbuild:asrc:bsrc'.
* man/Makefile.am: Let help2man rely on PATH instead of trying to
find the executables for it.
* tests/Makefile.am: Major cleanup.  Too lazy to document...
* tests/atlocal.in: Remove all the obscure envvar manipulations.
We only need PERL.
* tests/atspecific.m4, tests/tools.at: Passing --localdir is
indeed related to running the test suite, while passing
--autoconf-dir and others is related to running non installed
Autoconf executables.  So don't do that, leave it to...
* tests/autoconf, tests/autoheader, tests/autom4te, tests/autoupdate,
* tests/autoscan: New.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't
refer to library files: rely on --language.
2001-08-31 13:30:11 +00:00
Akim Demaille
838ea98226 * lib/autotest/general.m4: s/AT-devnull/devnull/ since there are
case insensitive OSes out there :(
From Tim Van Holder.
2001-08-29 09:55:40 +00:00
Akim Demaille
188b40e5f4 * lib/autotest/general.m4: Use
foo=`(command) 2>/dev/null`
not
	foo=`command` 2>/dev/null
(at-devnull): Rename as...
(AT-devnull): this.
(--clean): Remove AT-* files too.
* doc/autoconf.texi (Limitations of Usual Tools): Document `date'.
Reported by Nicolas Joly.
2001-08-29 09:04:31 +00:00
Tim Van Holder
9703c0c1ce * lib/autotest/general.m4: Reword some messages.
(AT_INIT): Check for the `times' builtin before using it.
Support test ranges as arguments to the testsuite.
Have -e imply -d as the help text suggested.
2001-08-27 11:55:21 +00:00
Akim Demaille
b1032ba246 * lib/autotest/general.m4 (AT_INIT) <at_cmd_line>: Remove.
<at_cmd_line>: New.
Pass it to debug-*.sh scripts.
<AUTOTEST_PATH>: May contain absolute dir names.
2001-08-27 07:21:51 +00:00
Akim Demaille
3fb8cd5635 * lib/autotest/general.m4 (AT_INIT): Log the command line.
Support `VAR=VAL' as arguments.
Compute PATH _after_ the options processing, so that AUTOTEST_PATH
may be set via the command line.
2001-08-27 07:21:36 +00:00
Akim Demaille
7af3bf7ccd * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): $2 defaults to $1.
* lib/autotest/autotest.m4 (AT_INIT): Expand AUTOTEST_PATH into
first the build dirs, then the src dirs.
* configure.ac (AC_CONFIG_TESTDIR): Adjust.
2001-08-27 07:21:20 +00:00
Akim Demaille
71f8118b57 * lib/autotest/general.m4 (AT_INIT): Output the definition of
at_data_files earlier.
(--clean, -c): New option.
* tests/Makefile.am: Use this option.
2001-08-27 07:20:37 +00:00
Akim Demaille
1e3115ec74 * m4/atconfig.m4 (AT_CONFIG): Remove, replaced by...
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): this.
New file.
* m4/Makefile.am (EXTRA_DIST): Oops, adjust...
2001-08-27 07:18:39 +00:00
Akim Demaille
d5c038a64b testsuite.log should include config.log.
* lib/autotest/autotest.m4: New.
* lib/autotest/general.m4, tests/atspecific.m4:	Adjust.
* tests/suite.at : Adjust.
(AT_INIT): Log config.log.
* lib/m4sugar/m4sugar.m4 (m4_text_box): New.
* lib/m4sugar/m4sh.m4 (_AS_BOX_LITERAL): Adjust.
* lib/autoconf/general.m4 (_AC_INIT_CONFIG_LOG): Use them.
(_AC_INIT_PREPARE): Fix the incredibly messy and buggy completion
of config.log on traps.
(_AC_OUTPUT_CONFIG_STATUS): Use AS_BOX.
Use consistently `_ACEOF' for configure's here docs, and `_CSEOF'
for config.status'.
Open the log as soon as possible.
Use the same log introduction as configure's.
2001-08-27 07:03:48 +00:00
Akim Demaille
e901ead496 * lib/autotest/general.m4 (AT_INIT): Compute top_builddir,
top_srcdir and srcdir from at_topbuild_2_topsrc and at_testdir.
Load atlocal late enough to dump it in the log.
* m4/atconfig.m4 (AT_CONFIG): Pass them to atconfig.
2001-08-20 14:46:29 +00:00
Akim Demaille
6e996ed93b Huh!?!?! There are still some user EOF tags used, which prevents
their use in AC_CONFIG_COMMANDS for instance...
* lib/autoconf/general.m4, lib/autoconf/specific.m4,
* lib/autotest/general.m4: Rename the EOF tags as `_ACEOF',
`_CSEOF', or `_ATEOF', as appropriate.
* lib/m4sugar/Makefile.am, lib/autoconf/Makefile.am,
* lib/autotest/Makefile.am (check-local): Enforce this constraint.
2001-08-20 14:45:22 +00:00
Akim Demaille
5693a536c2 Autotest invokes M4sh's initialization.
* lib/autotest/general.m4: Adjust the diversion names.
(AT_INIT): Run AS_INIT.
Use the BINSH diversion to invoke /bin/sh.
* tests/base.at, tests/m4sh.at, tests/m4sugar.at, tests/tools.at:
* tests/torture.at: Respect M4sugar and M4sh macro name spaces.
2001-08-20 14:45:00 +00:00
Akim Demaille
ad80ccfe86 * lib/autoconf/autoconf.m4, lib/autoconf/oldnames.m4,
* lib/autotest/general.m4: Adjust the license.
2001-08-20 14:44:11 +00:00
Akim Demaille
322a8a75e5 * lib/autotest/general.m4 (AT_INIT): Refer to `$as_me.log', not
`$0.log' as for projects where testsuite is in src, we'd have
testsuite.log created in src.
2001-08-17 14:46:05 +00:00
Akim Demaille
d1f539c696 * doc/autoconf.texi (Writing testsuite.at) <AT_CHECK>: Complete.
* lib/autotest/general.m4 (AT_INIT): Use the relative dir when
looking for ChangeLogs.
2001-08-17 12:07:10 +00:00
Akim Demaille
2bac6c8ee8 * lib/autotest/general.m4 (AT_INIT): Log the start/stop dates and
duration of the test suite.
2001-08-13 12:24:40 +00:00
Akim Demaille
08bc9f2a62 * lib/autotest/general.m4 (AT_INIT): All the `at-*' are to be
removed.
(at-setup-line): Huh?  Be a variable `at_setup_line', not a file.
No need to remove the files before and after the each test, before
each test and at the end of the suite is enough.
Display only the children `times', not the shell's.
If the test failed or was skipped, at-times is not available.
2001-08-07 07:57:01 +00:00
Akim Demaille
c0f321fdc8 Always produce testsuite.log, including when there are no
failures.  This helps getting information on skipped tests, and
duration of the tests.  Err, implement the latter btw.
* lib/autotest/general.m4 (AT_INIT): Set up fd 6 for the log.
Dump information on the first run of each test.
(AT_CLEANUP): Create `at-times' containing the duration of the
test group.
2001-08-07 07:56:51 +00:00
Akim Demaille
9f76b38080 The use of dumpstat' revealed that len' was used although it
should not.  m4_text_wrap was using it, but in the Autoconf world
where it is legal.  Hence (i) test M4sh in its own world, not
Autoconf's, and (ii), ahem, fix the bug :)
* lib/autotest/general.m4: Be sure the set good quotes, as tracing
does not like `' instead of [].
(AT_INIT): Forbid `^_?AT_'.
And don't output such tokens.
* tests/Makefile.am (CLEANFILES): Add `script', `script.s4g',
`script.as', and `autom4te.cache'.
Remove `empty' and `macro' which are no longer used.
* tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): New.
* tests/m4sugar.at: Use it.
* lib/m4sugar/m4sugar.m4: Use `m4_len' not `len'.
2001-08-07 07:56:40 +00:00
Akim Demaille
b21ca4dd20 * acfunctions.m4: Rename as...
* lib/autoconf/functions.m4: this.
* acgeneral.m4: Rename as...
* lib/autoconf/general.m4: this.
* acheaders.m4: Rename as...
* lib/autoconf/headers.m4: this.
* aclang.m4: Rename as...
* lib/autoconf/lang.m4: this.
* acoldnames.m4: Rename as...
* lib/autoconf/oldnames.m4: this.
* acspecific.m4: Rename as...
* lib/autoconf/specific.m4: this.
* actypes.m4: Rename as...
* lib/autoconf/types.m4: this.
* autoconf.m4: Rename as...
* lib/autoconf/autoconf.m4: this.
* m4sugar.m4: Rename as...
* lib/m4sugar/m4sugar.m4: this.
* m4sh.m4: Rename as...
* lib/m4sugar/m4sh.m4: this.
* tests/atgeneral.m4: Rename as...
* lib/autotest/general.m4: this.
* acfunctions: Rename as...
* lib/autoscan/functions: this.
* acheaders: Rename as...
* lib/autoscan/headers: this.
* acidentifiers: Rename as...
* lib/autoscan/identifiers: this.
* aclibraries: Rename as...
* lib/autoscan/libraries: this.
* acmakevars: Rename as...
* lib/autoscan/makevars: this.
* acprograms: Rename as...
* lib/autoscan/programs: this.
2001-08-01 13:46:22 +00:00
Pavel Roskin
9eb4315038 * atgeneral.m4 (AT_CHECK): Add a newline to the end of
at-stdout and at-stderr instead of removing the newline
from the echo output, which is not guaranteed to work.
2001-06-29 05:27:48 +00:00
Pavel Roskin
07948d1678 * tests/atgeneral.m4 (AT_INIT): Remove "/bin/sh" after $SHELL. 2001-06-06 17:54:48 +00:00
Akim Demaille
44ce5ed5a2 * atgeneral.m4 (AT_INIT): Use $SHELL.
* atspecific.m4 (AT_CHECK_DEFINES): Skip HAVE_STDINT_H.
2001-05-31 08:24:01 +00:00
Akim Demaille
75a3a3d326 * m4sh.m4 (AS_BASENAME): New.
(AS_SHELL_SANITIZE): Set `$as_me'.
* acgeneral.m4: Don't set as_me; AS_SHELL_SANITIZE now does this.
* tests/atgeneral.m4: Likewise.
(AT_INIT): Use $PATH_SEPARATOR for walking the path.
* autoconf.sh: Be DOS-friendly when setting as_me and M4.
Add quotes to support spaces in $tmp.
Work around problem in DJGPP port of awk by using a temporary file.
* autoheader.sh: Be DOS-friendly when setting as_me.
* autoreconf.sh: Be DOS-friendly when setting as_me, dir and
template_dir.
2001-03-30 12:49:36 +00:00
Akim Demaille
125764c93d * tests/atgeneral.m4: s/Testing suite/Test suite/g.
From Jim.
(AT_INIT): Adjust the error message on invalid options.
* tests/foreign.at (Libtool): Skip Libtool 1.3 too.
2001-03-20 13:59:27 +00:00
Akim Demaille
608985663d * tests/atgeneral.m4 (AT_INIT): Fix the at_diff test.
Reported by Nicolas Joly.
2001-03-19 14:31:00 +00:00
Akim Demaille
a21d079e63 * tests/atgeneral.m4 (AT_INIT): Don't always create `empty', rather
do it only when diffing `/dev/null' is not supported.
And use `at-devnull' instead of `empty'.
2001-03-19 11:06:46 +00:00
Akim Demaille
cdafb1f7e8 * tests/aclocal.m4: Fix some typos. Also ignore $PATH_SEPARATOR.
* tests/atconfig.in: Set PATH_SEPARATOR to the proper
path separator.  Set SHELL here...
* tests/atgeneral.m4: ... instead of here.  Use	$PATH_SEPARATOR
when setting AUTOTEST_PATH.  Don't default tests to "all" before
deciding whether the help text is needed.
* tests/semantics.at: Use the correct path separator.
2001-03-13 12:43:14 +00:00
Akim Demaille
f9c9bd2420 * tests/atgeneral.m4 (AT_INIT): Register at-setup-line and
at-check-line for removal.
Check for the presence of at-check-line only when $at_test was
really a test.
Reported by Pavel.
2001-03-05 15:58:31 +00:00
Pavel Roskin
42e1d2db7b * tests/atgeneral.m4 (AT_INIT): s/am_me/as_me/. Quote AT_CHECK
in the error message.
2001-03-04 08:08:55 +00:00
Akim Demaille
de7bee7a82 * tests/atgeneral.m4 (AT_INIT): Warn when at-check-line is
missing.
* tests/tools.at (Syntax of the scripts): Use AT_CHECK to test
/bin/sh -n.  Exit 77 on failure.
Reported by Harlan Stenn.
2001-02-28 09:33:30 +00:00
Akim Demaille
b8d698ca1d The recent addition of `exit's prototype in confdefs.h causes
AC_OUTPUT_MAKE_DEFS to include junky -D switches.
Reported by Wolfgang Mueller.
* tests/torture.at (#define header templates): Include trash in
confdefs.h.
* tests/atgeneral.at (AT_INIT): Don't expect `find' to support
-maxdepth, hence don't use -follow either.
Reported by Nicolas Joly.
* acgeneral.m4 (AC_OUTPUT_MAKE_DEFS) <confdef2opt.sed>: In the
`quote' section, `p'rint the result.
If neither `#define' pattern match, just call `d' to start a new
cycle.
Call this sed program with -n.
2001-01-30 19:29:38 +00:00
Akim Demaille
77a10dfe9d * tests/compile.at: New test.
* tests/atspecific.at (AT_CHECK): When given 77 as expected exit
status, don't include the `skip' mechanism.
2001-01-30 18:45:58 +00:00
Akim Demaille
471039146b * tests/atgeneral.m4: Don't redirect builtins' stderr as Ultrix
hates this: use a subshell.
2001-01-29 15:30:11 +00:00
Akim Demaille
1304fbbe0b * tests/atgeneral.m4 (AT_INIT): Include a default case for non
existing tests.
* tests/atspecific.m4 (AT_CONFIGURE_AC, AT_CHECK_ENV)
(AT_CHECK_AUTOUPDATE, AT_CHECK_AU_MACRO): New.
Spread their use.
(AT_CHECK_MACRO): Pass `-W obsolete' to autoconf.
* tests/semantics.at (AC_HAVE_FUNCS): Obsolete, don't check.
* tests/mktest.sh: Create one test file per Autoconf source
file instead of separating syntax/update.
2001-01-22 09:03:38 +00:00
Akim Demaille
a606e651c9 * sh.m4 (AS_ESCAPE): New.
(_AS_QUOTE_IFELSE): Use it.
* tests/atgeneral.m4 (AT_INIT) <SHELL>: Define and use.
<--help> Don't display the options help when tests were selected.
Document -d.
<at_skip_list>: New.
<testsuite.log>: Give a banner, include ChangeLog snippets, list
the failed and skipped tests.
Remove useless $at_traceoff in sub shells, this improves the
readability of the traces by removing testsuite's implementation
details.
(AT_CHECK): Filter out the shell traces from the tested command's
stderr.
Use AS_ESCAPE.
Don't register experr and expout for clean up, as it's hairy and
easier to do from...
Support STDOUT = stdout, and STDERR = stderr.
Force the output of shell traces.
(AT_INIT): Here.
2001-01-22 08:59:02 +00:00
Akim Demaille
8448b8f911 * tests/atgeneral.m4 (AT_data_files): Fix the computation of PATH. 2001-01-16 13:48:55 +00:00
Akim Demaille
e2e36c55ce * Makefile.am (editpl, editsh): Merge into...
(edit).
* m4sh.m4 (AS_UNAME): Eved out from...
* acgeneral.m4 (_AC_INIT_DEFAULTS): here.
(_AC_INIT_PACKAGE): Define AC_PACKAGE_NAME.
(_AC_INIT_PARSE_ARGS): AC_SUBST the PACKAGE_ variables.
Propagate their use in the executables and the test suite.
* tests/atgeneral.m4 (PATH): Include only absolute paths.
(AT_INIT): Use AS_UNAME.
2001-01-16 10:25:57 +00:00