Commit Graph

162 Commits

Author SHA1 Message Date
Paul Eggert
4a91f65386 (_AT_CHECK) [--trace]: Rework a shell pattern
to avoid using a negated character class.  Reported by Nicolas Joly.
2004-12-12 09:49:16 +00:00
Paul Eggert
04dcf25d6e * bin/.cvsignore: Add autoconf.in.
* tests/.cvsignore: Add wrapper.in.

* man/Makefile.am (autoconf.1): Regenerate when `autoconf.as' changes.

* lib/autotest/general.m4 [--trace] (AT_INIT): Do not `set -v'.

* tests/autotest.at: New file.
* tests/suite.at: Include it.
* tests/Makefile.am: Distribute it.

* lib/autotest/general.m4 [--trace] (_AT_CHECK): Do not enable
  shell tracing on a command that could contain multiple lines.
* doc/autoconf.text: Document that fact and its implications.
* lib/m4sugar/m4sh.m4 (AS_ESCAPE_FOR_EXPAND): New macro.
* tests/autotest.at (Multiline backquote command substitution,
  Multiline parameter expansion, Literal multiline command,
  Multiline parenthetical command substitution): Remove XFAIL.
2004-12-10 07:08:52 +00:00
Paul Eggert
c567224651 * lib/autotest/general.m4 (AT_INIT): Replace a tr' with a sed'. Join
PATH members so as to not prepend an empty element.  Move a comment.
* Makefile.am (SUBDIRS): Build in `tests' last.
* tests/Makefile.am (installcheck-local): Add check-local dependencies.
2004-12-09 21:01:37 +00:00
Paul Eggert
31d84d895a (AT_INIT): Don't assume /dev/null is readable; it's not true in OS/2-emx. 2004-09-05 22:26:41 +00:00
Paul Eggert
6b1c07685a Use "file name" rather than "filename" or "path",
to be consistent with the terminology of the GNU coding standards.
2004-08-20 19:58:06 +00:00
Paul Eggert
01f2558bd5 (AT_INIT, AT_CLEANUP, _AT_CHECK, AT_CHECK_NOESCAPE):
Allow spaces in file names.
2004-08-20 06:22:12 +00:00
Paolo Bonzini
7c1b2b4c78 * lib/m4sugar/m4sh.m4 (M4SH-SANITIZE): New diversion.
(AS_INIT): Output shell initialization there. Removed optional
parameter. Expand _AS_SHELL_FN_SPY.
(AS_INIT_WITH_SHELL_FN): Removed.
(_AS_SHELL_FN_SPY): New macro.
(AS_DETECT_REQUIRED, AS_DETECT_SUGGESTED): New
macros.
(AS_SHELL_SANITIZE): Remove loop to find better shell
and documentation for the parameter.
(_AS_DETECT_BETTER_SHELL): Move it here.
(_AS_SHELL_FN_WORK): Remove shell invocation, reformat.
(_AS_RUN): Move it here, support testing with eval.
(AS_REQUIRE_SHELL_FN): Require shell functions when
it is used.
(_AS_LINENO_WORKS): Put around braces, we do not
trigger the bash bug anymore.
* lib/autotest/general.m4: Document M4SH-SANITIZE, do not
use AS_INIT_WITH_SHELL_FN.
* bin/autoconf.in, tests/wrapper.in: Regenerated.
2004-01-30 14:29:18 +00:00
Paul Eggert
12475c8947 Replace "rm -rf" and "rm -fr" with "rm -f -r", as POSIX requires. 2004-01-05 07:05:22 +00:00
Paolo Bonzini
0723ac047b 2003-11-26 Paolo Bonzini <bonzini@gnu.org>
* lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE):
        Extracted from AS_SHELL_SANITIZE.
        (_AS_SHELL_FN_WORK, AS_INIT_WITH_SHELL_FN): New
        macros.
        (AS_SHELL_SANITIZE): Move reinvocation code from
        _AS_LINENO_WORKS, use it to find out if shell
        functions work.
        (_AS_LINENO_WORKS): Don't find another shell if $LINENO
        does not work.
        (AS_INIT): Pass parameter down to AS_SHELL_SANITIZE.
        (AS_REQUIRE_SHELL_FN): Test that AS_INIT_WITH_SHELL_FN
        was called.
        * lib/autotest/general.m4: Use AS_INIT_WITH_SHELL_FN.
        * bin/autoconf.in: Regenerate.
        * tests/wrapper.in: Regenerate.
        * tests/tools.at: Test the syntax of tests/autoconf
        and tests/testsuite.
2003-11-27 10:04:12 +00:00
Akim Demaille
f58280e8cc The test suite are sometimes assigning timings incorrectly.
Reported by Paivio Pollari.
Diagnosed by Nicolas Joly.
* lib/autotest/general.m4 (AT_CLEANUP): Rename AT_help as
AT_help_all.
Instead of making AT_help a sequence of assignments to grow
$at_help_all, just make AT_help_all be the growing contents of
$at_help_all, and make a single assignment in...
(AT_INIT): here.
(at_times_skip): Flip the meaning and rename as...
(at_times_p): this.
(AT_INIT): When summarizing the test that ran, remove
$at_times_file after use, and check it is present before trying to
use it.
2003-09-26 08:12:38 +00:00
Derek Price
e5333fb2d2 * lib/autotest/general.m4: Comment various HELP_* diversions.
(PARSE_ARGS_BEGIN): New section for option parsing related
initialization.
(AT_ARG_OPTION,AT_ARG_OPTION_ARG,_AT_ARG_OPTION): New macros to define
package specific options and associated help.
2003-08-19 18:21:39 +00:00
Derek Price
30c4fcea69 * lib/autotestgeneral.m4 (AT_INIT): Reformat test summary line to print
DESCRIPTION rather than FILE and LINE.  Shorten result to fit in new,
shorter column three.  Add DESCRIPTION to log file content.
2003-08-14 13:49:05 +00:00
Derek Price
b2722eb1c8 * lib/autotest/general.m4 (AT_INIT): Correct typo in final status
output.
2003-08-13 21:35:28 +00:00
Derek Price
43eea41b9e * lib/autotest/general.m4 (AT_CHECK): Use new _AT_CHECK API.
(AT_CHECK_NOESCAPE): Move core functionality to...
(_AT_CHECK): ...this new macro.
2003-08-12 19:01:34 +00:00
Derek Price
bdb8ae014e * lib/autotest/general.m4 (AT_CHECK): Move core functionality...
(AT_CHECK_NOESCAPE): ...to this new macro.
2003-08-07 17:47:48 +00:00
Akim Demaille
e3c0ef0f8d * lib/autotest/general.m4 (AT_INIT): Report a single config.log,
not all of them.  This fixes 1. the fact that when testing
Autoconf there are many many config.log, 2. the incorrect use of
top_srcdir to find config.log.
Don't mix the detailed output of failed test with the summary of
failures.  Rather, append detailed log afterwards.
2003-06-23 15:29:02 +00:00
Akim Demaille
f6d54deb80 * lib/autotest/general.m4: Use at_times_file only if used.
From Nicolas Joly.
2003-06-20 07:53:03 +00:00
Paolo Bonzini
c102ed8494 Add expected failures to autotest. 2003-06-12 11:03:55 +00:00
Paolo Bonzini
df6cb74cb6 Overhaul Autotest's logging: generate separate log files
in testsuite.dir/NNN/testsuite.log, and append them to
testsuite.log instead of re-running the test verbosely.
Adapt documentation.  Update NEWS to signal possible bad
interactions between -x and experr.
2003-05-22 21:52:43 +00:00
Akim Demaille
3cb00cdb8b * aclocal.m4, bin/autoconf.as, lib/autoconf/autoconf.m4,
* lib/autoconf/autoheader.m4, lib/autoconf/autoupdate.m4,
* lib/autoconf/c.m4, lib/autoconf/fortran.m4,
* lib/autoconf/general.m4, lib/autoconf/headers.m4,
* lib/autoconf/lang.m4, lib/autoconf/libs.m4,
* lib/autoconf/programs.m4, lib/autoconf/specific.m4,
* lib/autoconf/status.m4, lib/autoconf/types.m4,
* lib/autotest/general.m4, lib/m4sugar/m4sugar.m4,
* tests/atspecific.m4, tests/base.at, tests/compile.at,
* tests/foreign.at, tests/m4sh.at, tests/semantics.at,
* tests/tools.at, tests/torture.at:
Whitespace clean up.
Suggested by Jim Meyering.
2003-05-22 13:24:04 +00:00
Derek Price
044418223e * lib/autotest/general.m4 (AT_KEYWORDS): Don't use a comma as the
seperator with m4_append_uniq().  It doesn't work.
(AT_CLEANUP): Add `;' to end of at_help_all.
(AT_INIT): Allow --keywords to be specified more than once.  When
grepping $at_help_all for keywords, use the field and keyword
seperators to ensure a complete keyword match.  Alter at_prev handling
to support the new --keywords behavior.
2003-04-29 20:54:12 +00:00
Derek Price
cd9ac20d85 * lib/autotest/general.m4: Revert the checkin from 3-27 which removed
the main loop.
Thanks to Akim Demaille.
2003-03-31 20:25:52 +00:00
Derek Price
277b398bea * lib/autotest/general.m4: Eliminate main loop and reorganize test
layout in order to allow scripting around test groups.
2003-03-28 04:00:45 +00:00
Derek Price
fd4f512efd * lib/autotest/general.m4: Define and use new diversions in preparation
for accepting new arguments and allowing scripting around tests.
2003-03-27 21:59:15 +00:00
Derek Price
970e5f746c * lib/autotest/general.m4: s/DEFAULT/DEFAULTS/ since it makes more
sense.  Verbosify the diversion definitions comment.
2003-03-26 14:33:20 +00:00
Derek Price
7c3fb31aef * lib/autotest/general.m4 (AT_INIT): Remove redundant call to
AS_PREPARE.
2003-03-26 14:30:48 +00:00
Akim Demaille
20fc2abed5 Version 2.54b. 2002-10-28 07:30:59 +00:00
Akim Demaille
1b8a4459ee * lib/autotest/general.m4 (AT_INIT): Include the failed test
numbers in the Subject suggestion.
2002-10-11 13:02:40 +00:00
Paul Eggert
fd4614e4ff (AT_INIT, AT_CHECK): Do not assume that egrep and fgrep exist. 2002-05-29 22:27:40 +00:00
Paul Eggert
62843c4d18 (AT_INIT): Fix typos in yesterday's ZSH_VERSION fixes. Bug reported
by Raja R Harinath.
2002-04-21 06:35:08 +00:00
Paul Eggert
dd756ac977 Minor spelling and grammar fixes. 2002-04-20 06:09:01 +00:00
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
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
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
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
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
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