Commit Graph

39 Commits

Author SHA1 Message Date
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