Commit Graph

396 Commits

Author SHA1 Message Date
Paul Eggert
36ff4c803c (AT_INIT): Rewrite one instance so that the "$@" problem does not come up.
Use Zsh alias to work around the other instance.
2002-04-19 19:06:23 +00:00
Akim Demaille
9d658eddd9 * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Install the Zsh
workaround for ${1+"$@"}.
* doc/autoconf.texi (Shell Substitutions): Explain it.
From Oliver Kiddle and Peter Stephenson.
Have M4sh perform minimal shell sanitizing.
* lib/m4sugar/m4sh.at (AS_SHELL_SANITIZE): Split the `_AS_PREPARE_*'
part into...
(_AS_PREPARE): this new macro.
(AS_PREPARE): New.
(AS_INIT): Invoke AS_SHELL_SANITIZE.
* tests/m4sh.at (AT_DATA_LINENO): Use _AS_PREPARE.
Adjust Autoconf and Autotest.
* lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Don't invoke
AS_SHELL_SANITIZE, AS_INIT did it, but invoke AS_PREPARE.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS):
Invoke _AS_PREPARE (not AS_PREPARE) in addition to
AS_SHELL_SANITIZE.
Use this M4sh to generate Autoconf's shell scripts.
* tests/wrapsh.as: New, precursor of wrapsh.in.
* tests/Makefile.am: Include lib/freeze.mk to get the dependencies
on Autotest and M4sh.
($(TESTSUITE)): Use $(autotest_m4f_dependencies).
(wrapsh.in): New target.
* bin/autoconf.as: New, precursor of autoconf.in.
(autoconf.in): New target.
2002-04-10 15:58:19 +00:00
Paul Eggert
a3ed203186 (AT_INIT, AT_CLEANUP):
Create at_test_all by a series of assignments,
not by a single assignment of a long string.  The latter causes ksh
version 11/16/88g to silently misbehave on OpenServer 5.0.6a,
presumably because of a buffer overrun.
2002-03-19 06:43:17 +00:00
Paul Eggert
116d8263d9 (at_times_skip):
Renamed from at_times.  Now a boolean.
ksh93 Version M-12/28/93d doesn't like 'x=times; $x'; it
says 'times: not found'.
2002-03-14 18:14:49 +00:00
Akim Demaille
fbee53ee14 * Makefile.am (AUTOMAKE_OPTIONS): 1.6. 2002-03-08 12:44:46 +00:00
Akim Demaille
f12cd33d89 * lib/freeze.mk ($(build_libdir)/m4sugar/version.m4): New, for
parallel builds.
2002-03-04 15:08:23 +00:00
Akim Demaille
4f10c9b2d9 * lib/autotest/general.m4 (AT_INIT): Suggest a title to the
message to be sent.
2002-02-28 15:55:13 +00:00
Akim Demaille
e421e67915 Version 2.52h. 2002-02-10 12:38:46 +00:00
Akim Demaille
1b313550c5 freeze.mk: s/AUTOM4TE/MY_AUTOM4TE/ 2002-02-07 21:03:22 +00:00
Akim Demaille
b64fa8b69b * lib/autotest/general.m4 (AT_INIT): When handling --keywords, be
sure not to introduce newlines in at_groups.
* lib/autotest/Makefile.am (autotest.m4f): Typo.
2002-02-06 17:29:44 +00:00
Pavel Roskin
7bb3cbb22f Add autotest.m4f 2002-02-06 15:53:35 +00:00
Akim Demaille
f78ae3e5d5 Implement `autom4te --freeze'.
* bin/autom4te.in (&freeze): New.
* lib/autoconf/autoconf.m4, lib/autotest/general.m4,
* lib/m4sugar/m4sh.m4: Don't include files given by autom4te.
2002-02-05 08:24:06 +00:00
Akim Demaille
b0f1186048 Implement `autom4te --freeze'.
* bin/autom4te.in (&freeze): New.
* lib/autoconf/autoconf.m4, lib/autotest/general.m4,
* lib/m4sugar/m4sh.m4: Don't include files given by autom4te.
2002-02-05 08:12:46 +00:00
Akim Demaille
3b84d54756 * lib/autotest/general.m4 (AT_INIT): Don't be ridiculous: adjust
AUTOTEST_PATH *after* it was set.
Don't put `.' in the PATH: the user should be precise and `./' if
needed.  In addition, given that the test suite does some `cd', if
`.' is in the path, the `tested programs' sections will report
programs found in the test suite's directory, while during the
tests (performed in their own directory), these programs are no
longer visible.  In other words, the results is confusing and
useless.
* tests/m4sh.at: Adjust: don't rely on `.' being in the PATH.
2002-01-28 10:46:00 +00:00
Akim Demaille
b6f98b4ec1 Regen. 2002-01-24 17:39:46 +00:00
Akim Demaille
adb90f0708 * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Move the AC_SUBST
of PACKAGE_NAME, PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING,
and PACKAGE_BUGREPORT from here...
(_AC_INIT_DEFAULTS): to here, since it is unrelated to the
arguments.
(_AC_INIT_PREPARE): AC_DEFINE these symbols.
* lib/autotest/general.m4: Use AT_PACKAGE_*, not PACKAGE_*.
(AT_INIT): No longer catch `^PACKAGE_(BUGREPORT|STRING)$'.
* tests/tools.at (autoheader): Adjust.
* tests/atspecific.m4 (AT_CHECK_DEFINES): Adjust.
2002-01-06 20:48:10 +00:00
Akim Demaille
7403ea8e6e Test groups are now run two directories deeper.
* lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Replace srcdir,
top_srcdir and top_builddir with at_srcdir, at_top_srcdir and
at_top_builddir.
* lib/autotest/general.m4 (AT_INIT): Compute srcdir,
top_srcdir, builddir and top_builddir.
Use `at_*dir' relatively to the directory containing the
suite, use `*dir' when relatively to the current group dir.
2001-11-26 10:50:36 +00:00
Akim Demaille
0ff9d603a6 Typo. 2001-11-13 15:05:20 +00:00
Akim Demaille
bd4aa3ba7d * lib/autotest/general.m4 (AT_INIT): After having run the test
group, go back to the initial directory, not to at_suite_dir.
2001-11-13 15:04:16 +00:00
Akim Demaille
3c94358e38 * lib/autotest/general.m4: Change tests?' into groups?' in
variable names when referring to a single test group, or to
`suite' when referring to the whole test suite.
`at_last_test' is removed: m4 compute at_format itself.
(at_stdout, at_stder1, at_stderr): New variables.
(AT_CHECK): Use them.
2001-11-13 14:03:01 +00:00
Akim Demaille
1a08742d0c * lib/autotest/general.m4 (AT_INIT): Be sure to put `.', relative,
in PATH.
Create `testsuite.dir/003/run' instead of `testsuite.003'.
Do it as soon as a test fails, don't wait till the end of the test
suite.
Don't remove $as_me.[0-9]*, since these files no longer exist.
2001-11-13 13:15:48 +00:00
Akim Demaille
10dca17297 Now that tests are running in their own private dir, there is no
need to list the files to remove at the end of tests groups.
* lib/autotest/general.m4 (_AT_CLEANUP_FILE, AT_CLEANUP_FILES):
(AT_data_files, at_data_files): Remove.
(AT_CLEANUP, AT_DATA): Simplify.
(AT_INIT): Adjust.
Remove the group dir if !debug && !failed.
* tests/atspecific.m4: Adjust.
2001-11-13 11:41:08 +00:00
Akim Demaille
1205c2b251 Start a new layout for Autotest: `testsuite' creates
`testsuite.dir' in which the at-check-line etc. files are to be
found, and `testsuite.dir/003' where the test group 3 is run.
* lib/autotest/general.m4 (AT_INIT): at_tests_dir,
at_check_line_file, at_format, at_test_normalized, at_group_dir
are new variables.
Create the directories.
Use absolute paths for at- files.
(AT_CHECK): Adjust.
2001-11-13 11:39:14 +00:00
Akim Demaille
945977991b * lib/autotest/general.m4 (AT_INIT): Push KILL at the end.
Now that M4sh pushes BODY, the comments were output at the end of
the test suites.
2001-11-12 08:59:40 +00:00
Akim Demaille
89af419b83 Regen. 2001-10-31 10:43:31 +00:00
Akim Demaille
d7089440fc * m4/: Remove, merged into...
* config/: here.
2001-10-24 13:30:56 +00:00
Akim Demaille
141b85d788 * lib/autoconf/autoconf.m4, lib/autoconf/general.m4,
* lib/autoconf/libs.m4, lib/autoconf/status.m4,
* lib/autoconf/types.m4, lib/autotest/general.m4,
* lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4, tests/atspecific.m4,
* tests/torture.at: Rename m4_regexp, m4_patsubst, and m4_match to
m4_bregexp, m4_bpatsubst, and m4_bmatch.
* doc/autoconf.texi (Redefined M4 Macros): Adjust.
2001-10-08 08:22:33 +00:00
Akim Demaille
8e048c0492 * lib/autoconf/general.m4 (_m4_divert(BODY)): Move to...
* lib/m4sugar/m4sh.m4: here.
(AS_INIT): Push the BODY diversion, set the #! /bin/sh line.
* lib/autoconf/general.m4 (AC_PLAIN_SCRIPT) : Remove.
(AT_INIT): Replace AC_PLAIN_SCRIPT with AS_INIT invocation,
include handle the m4_pattern_*, no longer push the
BODY diversion nor set the /bin/sh line, AS_INIT does it.
* lib/autotest/general.m4 (AT_INIT): Likewise.
* tests/base.at: Adjust the tests to use AS_INIT.
* tests/tools.at (AT_DATA_FORBIDDEN): New.
(autoconf: forbidden tokens): Adjust to work on M4sh instead of
Autoconf.
2001-10-08 08:20:59 +00:00
Akim Demaille
8bbfc0b5fd * tests/testsuite (AT_INIT) <at_pass_list>: New.
Don't run twice the same test.
2001-10-01 07:01:22 +00:00
Akim Demaille
d3cd8d95c2 * lib/autotest/general.m4 (AT_INIT) <--help>: Catch up with reality.
No longer output the list of tests.
<--list>: New option.
<--full-help>: Remove.
Complete the short/long options duality.
Various small adjustments.
2001-10-01 07:01:08 +00:00
Akim Demaille
921e6d129d * lib/autotest/general.m4 (AT_VICTIMS): Rename as...
(AT_TESTED): this.
(AT_INIT): More the wrapped section to where it will be expanded.
Output `AT_tested' only when existing.
Catch unexpanded PACKAGE_STRING and PACKAGE_BUGREPORT.
2001-09-28 10:14:36 +00:00
Akim Demaille
26edb742fa * lib/autotest/general.m4 (AT_INIT): Dump the whole config.log.
Be sure the close and reopen the LOG fd before and after using tee
to extend the log.
<at_tests_pattern>: Adjust to the new format of at_help_all.
2001-09-25 09:54:29 +00:00
Akim Demaille
e7808696f5 * lib/autoconf/status.m4 (_AC_SRCPATHS): Compute and provide
ac_buildpath, ac_top_buildpath, ac_srcpath, and ac_top_srcpath.
(_AC_OUTPUT_FILES): Also substitute srcpath, top_srcpath,
builddir, buildpath, top_builddir, and top_buildpath.
(_AC_OUTPUT_SUBDIRS): Compute the dir variables *before* changing
the current directory.
* lib/autoconf/general.m4 (_AC_INIT_HELP): Compute the dir
variables *before* changing the current directory.
Skip nonexistent dirs.
* doc/autoconf.texi (Preset Output Variables): Document these
variables.
* lib/autotest/general.m4: Do not reset AT_victims.
Don't compute at_srcdir nor at_top_srcdir.
* tests/tools.at: Hence use top_srcdir.
* tests/Makefile.am, tests/autoconf, tests/autoheader,
* tests/autom4te, tests/autoreconf, tests/autoupdate, tests/ifnames:
Remove.
* tests/autoreconf.in, tests/wrappl.in, tests/autom4te.in,
* tests/wrapsh.in, tests/autoupdate.in: New.
* tests/Makefile.am (DISTCLEANFILES, EXTRA_DIST): Adjust.
* configure.ac: Build the position independent wrappers.
* man/Makefile.am: Now that test wrappers are position
independent, use them and drop dark envvar magic.
2001-09-23 17:17:46 +00:00
Akim Demaille
eacc95ddc9 * lib/autotest/general.m4 (AT_INIT): Dump config.log last.
Pass $at_debug_args to the rerun test suite.
* lib/m4sugar/Makefile.am (DISTCLEANFILES): New.
* bin/Makefile.am (ETAGS_SH): Don't use characters ranges.
From Paul Eggert.
2001-09-23 17:16:43 +00:00
Tim Van Holder
a12d3d6319 * doc/autoconf.texi (File System Conventions): Clarify the use of
PATH_SEPARATOR.
  (Special Shell Variables[PATH_SEPARATOR]): Ditto.
  (Special Shell Variables[CDPATH]): Mention that $PATH_SEPRATOR should
  be used instead of ':'.
* lib/autotest/general.m4: Replace occurrences of ':' in
  AUTOTEST_PATH with $PATH_SEPARATOR at test suite startup.
2001-09-20 15:39:46 +00:00
Akim Demaille
9b50021469 * lib/autotest/general.m4: Englishoes.
From Tim Van Holder and Alexey Mahotkin.
2001-09-19 07:22:24 +00:00
Akim Demaille
8ef39f1b94 * doc/autoconf.texi (Limitations of Usual Tools) <find>: More about
`{}'.
* lib/autotest/general.m4 (AT_INIT): Adjust.
2001-09-18 14:21:51 +00:00
Akim Demaille
01bbecaa0a * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): No INIT-CMDS in
the AC_CONFIG_COMMANDS invocation.
This also solves the name clash problems.
Don't set the package's ID.
* lib/m4sugar/Makefile.am (version.m4): Revamp.
No longer to be shipped.
(version.in): Remove.
* lib/m4sugar/m4sugar.m4, lib/autoconf/general.m4,
* lib/autoconf/status.m4: Adjust.
Use `m4_PACKAGE_STRING'.
* lib/autotest/general.m4 (AT_INIT): N-th signature change: now
the only optional argument is the name of the test suite.
Expect `package.m4' to define the package signature.
* lib/autom4te.in (Autotest): Add `package.m4?'.
* tests/Makefile.am (package.m4): New.
* tests/suite.at: ifnames is a victim.
2001-09-18 09:03:18 +00:00
Akim Demaille
72c26bb441 * lib/autom4te.in (Autoconf): Preselect AM_CONDITIONAL,
AC_LIBSOURCE, AC_CONFIG_FILES.
* lib/autotest/general.m4 (AT_INIT): Don't abort when a tested
program version string doesn't match the package's.
* lib/autoconf/general.m4 (AC_CACHE_VAL): Reestablish the space
after `(cached)'.
2001-09-18 08:58:56 +00:00
Akim Demaille
39c8e277ec * lib/autotest/general.m4 (AT_INIT): Reset `AT_victims' so that
m4_defn'ing is valid.
2001-09-13 10:18:07 +00:00
Akim Demaille
0638570e79 * lib/m4sugar/m4sugar.m4 (m4_append_uniq): New.
* lib/autotest/general.m4 (AT_VICTIMS, AT_KEYWORDS, _AT_CLEANUP_FILE):
Use it.
2001-09-13 06:57:45 +00:00
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
c737451f8c * bin/ifnames.in: Rewrite in Perl.
* configure.ac: Don't look for AWK.
* tests/tools.at (AWK portability): Remove.
(Syntax of the shell scripts): Don't check ifnames.
(AT_CHECK_PERL_SYNTAX): New.
(Syntax of the Perl scripts): Check ifnames.
* tests/ifnames: New.
2001-09-13 06:54:35 +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
ba3b08af20 Automake 1.5.
* Makefile.am (AUTOMAKE_OPTIONS): Add 1.5 and dist-bzip2.
(AMTAR): Help automake define it.
(INSTALL, install-data-hook): The INSTALL.txt trick is no longer
needed, 1.5 can have a macro and a target with the same name.
* m4/auxdir.m4, m4/cond.m4, m4/depend.m4, m4/install-sh.m4,
* m4/strip.m4: New.
* m4/init.m4, m4/sanity.m4: Update.
* doc/Makefile.am (CLEANFILES): 1.5 knows the texi2dvi files.
* lib/autoconf/Makefile.am, lib/autotest/Makefile.am,
* lib/m4sugar/Makefile.am, lib/autoscan/Makefile.am,
* lib/Autom4te/Makefile.am, man/Makefile.am: Use dist/nodist.
2001-08-27 07:12:16 +00:00
Akim Demaille
f827e95708 Provide a mean to ``AC_PREREQ'' for M4sugar, M4sh and Autotest.
* lib/autoconf/version.in: Remove.
* lib/m4sugar/version.in: New.
* lib/m4sugar/m4sugar.m4 (m4_acversion, m4_version_prereq): New.
Adjust callers.
* bin/autoupdate.in: Distinguish M4sugar vs. Autoconf macros by
the name of the directory they're in, instead of the filename,
since version.m4 is now in m4sugar, but m4_acversion must not be
classified as an Autoconf macro.
($input_m4): Don't qualify the path to m4sugar.
Rather, pass autoconf_dir to m4.
* tests/Makefile.am (testsuite): Remove -I top_srcdir, unneeded.
* tests/suite.at: Require 2.52c.
2001-08-27 07:08:56 +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
40556ab827 * bin/Makefile.am, lib/Autom4te/Makefile.am, lib/autoconf/Makefile.am
* lib/autotest/Makefile.am, lib/m4sugar/Makefile.am: Add TAGS support.
2001-08-17 12:06:44 +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
Akim Demaille
ca4630d840 Prepare file moves. 2001-07-25 08:15:26 +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
Akim Demaille
05ee2bf953 * tests/atgeneral.m4 (AT_INIT): Simplify the hairy display of the
identity of the tests.
2001-01-15 07:38:35 +00:00
Akim Demaille
b508b51fb8 * tests/atgeneral.m4 (AT_INIT): When the suite failed, complain
before creating the debug scripts.
Create a log file.
When ignoring a test, display a reassuring `ok' for stressed
users, and say `skipped' instead.
Simply run `testsuite' with the failed tests instead of running
the debug scripts, this avoids having zillions of banners `Testing
Blabla 2.13' (another means to avoid these banners is to have the
test suite succeed :-).
2001-01-15 07:35:36 +00:00
Akim Demaille
bd16bfa0e3 * sh.m4 (AS_BOX, _AS_BOX_LITERAL, _AS_BOX_INDIR): New.
* tests/atgeneral.m4: Use it.
2001-01-15 07:29:48 +00:00
Akim Demaille
59ecd7666a * acgeneral.m4 (AC_VAR_INDIR_IFELSE): Move as...
* m4sh.m4 (AS_LITERAL_IF): this.
(AS_IFELSE): Rename as...
(AS_IF): this.
2001-01-15 07:29:24 +00:00
Akim Demaille
55953c9b14 With expr's that return 0' on failures, the executable suffix is
`0'.  Test and fix.
Reported by Assar Westerlund.

* Makefile.am (maintainer-check): New target.
* tests/Makefile.am (maintainer-check, maintainer-check-posix)
(maintainer-check-c++, expr): Likewise.
* configure.in (EXPR): Look for it.
* tests/atgeneral.m4 (AT_CHECK): Propagate $2's default value.
* tests/compile.at (Extensions): New test.
* aclang.m4 (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O):
Distinguish files with or without a dot.
2001-01-12 09:39:26 +00:00
Akim Demaille
be42075f17 * tests/atgeneral.m4 (AT_CLEANUP_FILE_IFELSE): Fix the regexp: the
pattern ` state* ' was added many times for `*' was improperly
escaped.
(AT_INIT): Remove the data files before running the tests.
Define AT_data_files and output it.
(AT_SETUP): Don't.
(_m4_divert(TEST)): Remove, now useless.
2000-12-20 09:15:59 +00:00
Akim Demaille
6804b0e12a * tests/atgeneral.m4 (AT_CHECK): Make exit status report more
visible.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF): Support FLAGS, STDOUT
and STDERR.
(AT_CHECK_CONFIGURE): Support plenty, cleanup defs when needed.
Spread their use in the whole suite.
Simplify a few AT_CLEANUPs.
2000-12-19 08:15:48 +00:00
Akim Demaille
7fd0f6597d * tests/atgeneral.m4 (AT_CHECK): Accept if-failed and
if-not-failed.
* tests/atspecific.m4 (AT_CHECK_CONFIGURE): Use it in order to
dump config.log when configure failed.  Before, the log was
reported only on success.
2000-12-19 08:15:20 +00:00
Akim Demaille
ce736ccd6e * tests/atgeneral.m4 (AT_BANNER, AT_CLEANUP): Formatting changes. 2000-12-19 08:09:38 +00:00
Akim Demaille
112b68ac15 * tests/atgeneral.m4 (AT_INIT): Forget about `-n'.
Adjust so that `./testsuite -h 1 2' explains only tests 1 & 2.
2000-12-15 07:47:45 +00:00
Pavel Roskin
27853939be * m4sugar.m4 (m4_file_append): Add a newline after _m4eof,
otherwise _m4eof is appended to the output on FreeBSD 4.0.
* tests/atgeneral.m4 (AT_INIT): Avoid using unbalanced "y"
in sed, use "s" instead.
* tests/mktests.sh: Don't use ? in sed - it's a GNU extension.
Use separate patterns for A[CU]_DEFUN and AC_DEFUN_ONCE.
2000-12-13 14:53:51 +00:00
Akim Demaille
1e5ec2a947 * tests/atgeneral.m4 (AT_INIT): More robust computation of
ac_tests_pattern.
Reported by  Andrej Borsenkow.
2000-12-07 16:21:58 +00:00
Akim Demaille
5561d67cf9 * tests/atgeneral.m4 (AT_CHECK): Bad typo: assign `exit 1' to
at_continue if something failed, not `:'.
* tests/semantics.at (AC_PATH_XTRA): New.
* acspecific.m4 (_AC_PATH_X): New, extracted form AC_PATH_X.
2000-12-07 15:21:54 +00:00
Akim Demaille
5e7468d665 Stop playing with FDs in Autotest.
* tests/atgeneral.m4 (AT_INIT): Set up FD 5.
(AT_CHECK): Instead of using exec to globally change the FDs of
`testsuite', enclose the body of the test into a
`(..) >stdout 2>stderr'.
In every case, when verbose, display the differences between
expected and oberved (stdout, stderr, exit status).
Let `0' be the default for EXIT-STATUS.
Support EXIT-STATUS == `ignore'.
2000-12-06 16:29:50 +00:00
Akim Demaille
9bae9af007 * tests/atgeneral.m4 (AT_CHECK): Fix the m4_ifval invocation. 2000-12-06 08:59:21 +00:00
Akim Demaille
482e84f65c * m4sugar.m4 (ifelse): Rename as...
(m4_if): this.
* autoconf.m4 (ifelse): Restore.
2000-12-06 08:58:41 +00:00
Pavel Roskin
93c61512d9 * tests/atgeneral.m4 (AT_INIT): Use ${CONFIG_SHELL-/bin/sh}
to run the testsuite from the debug scripts.
Suggested by Alexandre Oliva.
2000-12-02 00:46:57 +00:00
Akim Demaille
a8c122d0f2 Provide a means to display banners in the test suite.
* tests/atgeneral.m4 (AT_INIT): Initialize AT_banner_ordinal.
Execute the epilogue of the tests only if a test was run.
Don't built the value of `at_tests_all' by a for loop: expand
AT_TESTS_ALL.
(AT_SETUP): Build AT_TESTS_ALL.
(AT_BANNER): New.
Adjust all the former banners to use it.
(AT_CHECK): Don't trace the decoding of $?.
2000-11-29 10:12:05 +00:00
Akim Demaille
acbcc5f2b7 * tests/atgeneral.m4 (AT_DEFINE, AT_UNDEFINE, AT_SHIFT)
(AT_INCLUDE): Remove, use the m4_ macros.
2000-11-29 10:11:38 +00:00
Akim Demaille
d1961284af * tests/atconfig.in: Move code into...
* tests/atgeneral.m4 (AT_INIT): here.
Use AS_SHELL_SANITIZE.
2000-11-23 09:54:16 +00:00
Akim Demaille
0c0b7ab5a6 Have the test suite list of the test groups and their references.
* tests/atgeneral.m4 (_m4_divert(SUITE_PRO)): Remove, replaced
by...
(_m4_divert(DEFAULT), _m4_divert(OPTIONS), _m4_divert(HELP))
(_m4_divert(SETUP)): these.
(_m4_divert(SUITE_EPI)): Rename as...
(_m4_divert(TAIL)): this.
(AT_INIT): Adjust to the new diversions.
Insert the magic number.
Accept test groups as cli argument.
List the test groups.
Rename TESTS, test, and tests as at_tests_all, at_test, and
at_tests.
Have the debug scripts pass options to test suite.
Remove their banner.
* tests/atspecific.m4: Don't divert to 0.
* suite.at: Don't insert the magic number.
2000-11-23 09:53:52 +00:00
Akim Demaille
2fc75f4ce5 * 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 09:53:26 +00:00
Akim Demaille
7a7e444ed7 * tests/atgeneral.m4 (AT_CLEANUP): Factor the computation of
at_test_count into...
(AT_INIT): here.
Use an sh variable, at_data_files, instead of an hard coded list.
2000-11-23 09:52:58 +00:00
Akim Demaille
0280c4a535 * tests/atgeneral.m4 (AT_CLEAN_FILE_IFELSE, AT_CLEANUP_FILE)
(AT_CLEANUP_FILES): New	macros.
(AT_SETUP, AT_CHECK, AT_CLEANUP): Use them.
(AT_CHECK): Fix a use of at_verbose.
* tests/atspecific.m4 (AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER)
(AT_CHECK_CONFIGURE): New macros.
2000-11-23 09:52:35 +00:00
Akim Demaille
755bc2706a * tests/atgeneral.m4 (AT_INIT) <at_verbose>: Be a :/echo variable.
<at_silent>: Remove.
(AT_CLEANUP): Clean up the diversion use.
2000-11-23 09:52:08 +00:00
Akim Demaille
e490f231b9 Factor part of the prologue of the tests.
* tests/atgeneral.m4 (AT_SETUP, AT_CLEANUP): No longer handle
at_stop_on_error.
(AT_INIT): After having checked whether the test failed, break out
of the loop if requested (-e).
2000-11-23 09:51:33 +00:00
Akim Demaille
f102e1f133 * tests/atgeneral.m4 (AT_SETUP): Don't build at-check-line, that's
AT_CHECK's job.
Remove the code depending upon `at_skip_mode': it's unused.
2000-11-23 09:50:51 +00:00
Akim Demaille
1a74eafcf1 * tests/atconfig.in: Remove the `snippet' marks, there are no
longer used.
* tests/atgeneral.m4: Likewise.
2000-11-23 09:49:57 +00:00
Akim Demaille
ae13937d34 Factor the epilogue of the tests.
* tests/atgeneral.m4 (AT_CLEANUP): Move the reading of at_status
into...
(AT_INIT): here, at the end of the `case'.
2000-11-23 09:49:08 +00:00
Akim Demaille
bca7b71cf8 The debug scripts are only wrapper around testsuite, asking for a
specific test.
* tests/atgeneral.m4 (AC_INIT) <at_debug>: New variable, new
option, -d, to disable the creation of the debug scripts (when
testsuite was already launched from one).
<at_test_count>: Really compute it instead of using the number of
the last test run.
2000-11-23 09:48:28 +00:00
Akim Demaille
ce8108c250 Transform Autotest's body into a `for test; case $test'.
As a known side effect, currently any code outside
AT_SETUP/AT_CLEANUP is discarded.
* acgeneral.m4 (_m4_divert(KILL)): Move to...
* m4sugar.m4: here.
* tests/atgeneral.m4 (AT_INIT): Use m4_divert_push/pop instead of
m4_divert.
Put all the tests inside a for;case.
Define TESTS.
(AT_SETUP, AT_CLEANUP): Open/close each case.
2000-11-23 09:47:45 +00:00
Akim Demaille
be1c95cd56 Move divert and undivert into m4_.
* m4sugar.m4 (m4_divert, divert, undivert): Rename as...
(m4_divert_text, m4_divert, m4_undivert): this.
* autoconf.m4 (divert, undivert): Restore them for user macros only.
2000-11-23 09:46:48 +00:00
Akim Demaille
a9e30cc83a Move Autotest on top of M4sh.
* tests/atgeneral.m4: Import M4sh.
Adjust the differences on the names of the builtins (define etc.).
(AT_CASE): Remove, use m4_case.
(AT_SETUP): Don't use `AT_group_description', `$1' is OK.
* tests/atspecific.m4 (m4_for, m4_foreach): Remove, use those of
M4sugar.
* tests/m4sugar.at: Strengthen the quotation and adjust to the new
macro names.
* tests/m4sh.at: Ditto.
* tests/torture.at: Ditto.
* tests/base.at: Ditto.
* m4sh.m4: Import M4sugar.
* autoconf.m4: Don't import M4sugar, M4sh does.
2000-11-23 09:45:48 +00:00
Pavel Roskin
1d03fe1675 * acgeneral.m4 (_AC_COMPUTE_INT_COMPILE): Use ":" instead of
"true".
        * tests/atgeneral.m4 (AT_INIT): Likewise.
        * tests/tools.at (Syntax of the scripts): Likewise.
2000-11-09 18:59:18 +00:00
Akim Demaille
e015643d3f * tests/atgeneral.m4 (AT_CHECK): Check stderr first, since if both
stdout and stderr fail, differences on the latter are probably
more significant than on the former.
2000-11-02 15:21:04 +00:00
Akim Demaille
f2a537cc26 * tests/atgeneral.m4 (AT_CHECK, AT_CLEANUP): Be more verbose when
`-v' is passed.
2000-11-02 12:23:42 +00:00
Pavel Roskin
03bbc0e52b * tests/atgeneral.m4 (AT_CHECK): Warn if the expected exit status
is different from what we got. Don't preserve exit status other
        than 77.
2000-10-30 03:24:44 +00:00
Akim Demaille
c27236bff5 * tests/atgeneral.m4 (AT_INIT): Avoid foo="bar", foo=bar is
enough.
Use grep to check the presence of a string in a stream.
* m4/atconfig.m4: Quote.
2000-10-18 12:42:20 +00:00
Pavel Roskin
32f853c7e3 * tests/atgeneral.m4 (AT_CHECK): Make sure that $? is set to 0
if diffs have succeded.
2000-10-11 19:59:43 +00:00
Akim Demaille
af51198638 * src/atgeneral.m4 (AC_CHECK): Display stderr including when the
test failed because of stdout.
2000-09-21 13:06:03 +00:00
Akim Demaille
7a3e952e57 * tests/atgeneral.m4: Formatting changes.
(AT_INIT): Let `at_stop_on_error' and `at_verbose' be `:'/`false'
variables instead of `'/`1'.
`at_check_stds' replaces `at_no_redirs'.
Rename `Snippet 3' as `Snippet 4'.
Introduce `Snippet 3' for variable initializations.
Adjust the dependencies.
(AT_CHECK): Don't show diff's result unless verbose.
2000-09-21 12:47:04 +00:00
Akim Demaille
a5c2f0e5d9 * tests/atgeneral.m4 (AT_DATA): Use _ATEOF instead of EOF. 2000-09-19 15:36:09 +00:00
Akim Demaille
42944c4fc3 * tests/atgeneral.m4 (AT_CHECK): Fix a redirection problem. 2000-07-07 12:56:02 +00:00
Akim Demaille
c34897ff86 Some `diff' refuse to diff with /dev/null, such as Tru64's.
Reported by Nicolas Joly.

* tests/atgeneral.m4 (empty): New dummy file.
Changed various `diff /dev/null' as `diff empty'.
2000-02-18 13:44:17 +00:00
Akim Demaille
1a31555694 * tests/atgeneral.m4 (at_diff): Don't use `cmp -s', on DOS it
makes the difference between Unix and DOS EOL. `diff' does not.
Reported by Eli Zaretski.
Also, be ready to use a diff that does not support `-u'.
2000-02-18 10:01:25 +00:00
Akim Demaille
a604d916a0 * tests/atspecific.m4 (m4_for, m4_foreach): New macros. 2000-02-07 17:02:37 +00:00
Akim Demaille
304ecacb35 * acgeneral.m4 (m4_case): Fixed a typo and a bug: one shift was
missing.
(m4_match): New macro.
* tests/atgeneral.m4 (AT_CASE): Fixed.
2000-02-07 16:28:06 +00:00
Akim Demaille
78a1aa6fc3 * tests/atgeneral.m4: Updated.
(AT_CASE): new macro.
(AT_CHECK): Use it.  Don't changequote for patsubst, there is no
need.
* tests/syntax.m4 (TEST_MACRO): Don't run AC_ARG_VAR.
Reported by Jim Meyering.
Use AT_CASE.
2000-02-07 14:22:37 +00:00
Akim Demaille
b9b4dc14d8 Check that the AC_DEFINEs from acspecific.m4 do have a template.
Fix the discovered bugs.

* tests/atgeneral.m4 (AT_CHECK): Don't just exit 1 when you want
to propagate the failure of a test: exit with the same exit
status, at least to preserve 77 (=ignore).
* tests/syntax.m4 (TEST_MACRO): Run also autoheader.  Don't run
this test on all the macros, some just cannot run without
arguments.
* acgeneral.m4 (AC_OUTPUT_CONFIG_STATUS): In the if egrep/fi for
#define templates, add a `:' to prevent syntax errors in
config.status when there are no AC_DEFINE performed.
* autoheader.m4 (AH_TEMPLATE): Don't use _AC_SH_QUOTE here, use it
in...
(AH_VERBATIM): here.  Now AH_C_UNSIGNED_CHAR is no longer failing
(formerly it would produce a non backslashed backquote, which
made sh choke).
2000-02-04 10:23:15 +00:00
Akim Demaille
f6dd7456f3 1999-11-11 Akim Demaille <akim@epita.fr>
Introduce a new style of testing, independent from DejaGNU.


	Introduce the logistics.

	* configure.in: Initialize AT, and output tests/atconfig, and
	tests/Makefile.
	* m4/atconfig.m4: New file.
	* m4/Makefile.am: Adjusted.
	* aclocal.m4: Include atconfig.m4.
	* Makefile.am: Adjusted.
	* tests/Makefile.am: New file.
	* tests/atgeneral.m4: Likewise.
	* tests/atconfig.in: Likewise.


	Write tests.

	* tests/syntax.m4: New file, in charge of checking the validity of
	the sh code produced by the macros defined in acspecific.m4.
	acgeneral.m4 is not checked here, because these macros require
	arguments.
	* tests/suite.m4: New file.  Run syntax.m4.
2000-01-29 12:18:40 +00:00