|
5b44ce39
|
2012-02-23T13:07:57
|
|
tests: quote 'like this', not `like this', as per GCS recommendation
This patch converts the automake testsuite and related files, to
the use of new quoting format 'like this' or "like this" rather
than `like this'.
This is done for consistency with the new recommendations in the GNU
Coding Standards, and, well, because I've come to actually prefer
the '...' and "..." quoting formats over the `...' one.
* tests/README: Update quoting format throughout. Remove some
"excessive" use of quoting, and throw in minor rewording where
appropriate.
* tests/Makefile.am: Likewise, for comments.
* tests/CheckListOfTests.am: Likewise.
* tests/defs-static.in: Likewise.
* tests/defs: Likewise.
* tests/trivial-test-driver: Likewise.
* Many tests/*.tap, tests/*.test and tests/*.sh files: Likewise,
and for the diagnostic and informational messages as well.
* tests/gen-testsuite-part: Likewise, and for the generated tests
as well.
|
|
db973eaa
|
2012-02-21T19:47:36
|
|
tests: prefer 'configure.ac' over 'configure.in'
With this change, our testsuite now uses 'configure.ac' as the
name for the typical autoconf input, instead of the obsolescent
'configure.in' (which has been deprecated for several years, at
least since autoconf 2.50).
Most of the test cases changed by this commit have been
automatically modified with this sed command (using GNU
sed):
sed -i 's/\<configure\(\\\?\)\.in\>/configure\1.ac/g'
* syntax-checks.mk (sc_tests_no_configure_in): New syntax check.
(syntax_check_rules): Add it.
* tests/defs: Create stub for autoconf input in 'configure.ac',
not in 'configure.in'. Adjust comments.
($AUTOCONF, $AUTOHEADER, $AUTORECONF): Remove workaround for the
infamous debian autoconf wrapper: we don't need such workaround
anymore now that we name our autoconf input as 'configure.ac'.
For more information, see commit v1.11-564-g63da492 "test defs:
hack to support autoconf-wrapper programs" of 16-12-2011.
* tests/README: Use 'configure.ac', not 'configure.in'.
* Many many tests: Likewise.
* tests/backcompat3.test: Adjust to avoid spurious failures.
* tests/backcompat5.test: Likewise.
* tests/missing6.test: Likewise.
* tests/backcompat6.test: Likewise, and extend a bit since we
are at it.
|
|
641a5a4b
|
2012-02-16T10:46:23
|
|
maint: run "make update-copyright"
|
|
0b34421d
|
2012-02-12T16:37:44
|
|
tests: fix spurious failures due to missing 'yywrap()' function
The AC_PROG_LEX Autoconf macro does not diagnose a failure to find
the "lex library" expected to provide a 'yywrap' function (function
which is required to link most lex-generated programs). On the
contrary, when all the link attempts (i.e., with '-ll' and '-lfl')
fail, configure declares that no lex library is needed, and simply
proceeds with the configuration process -- only for the build to
possibly fail later, at make time.
This behaviour is intended; the Autoconf manual reads:
You are encouraged to use Flex in your sources, since it is
both more pleasant to use than plain Lex and the C source it
produces is portable. In order to ensure portability, however,
you must either provide a function 'yywrap' or, if you don't use
it (e.g., your scanner has no '#include'-like feature), simply
include a '%noyywrap' statement in the scanner's source.
This AC_PROG_LEX behaviour is causing some spurious failures of
the Automake testsuite in environments which lack a proper library
providing 'yywrap' (this happens for example on Fedora-based
systems). The proper workaround is to simply provide a fall-back
implementation of 'yywrap' in our lexers.
See also similar commits 'v1.11-546-gca0ba5d' (24-10-2011),
'v1.11-1085-gb5c3968' (24-10-2011) and 'v1.11-871-geb147a1'
(25-05-2011).
* tests/lex-clean.test: Provide a dummy 'yywrap' function.
* tests/lex-line.test: Likewise.
* tests/lex-nodist.test: Likewise.
* tests/lex-depend.test: Likewise.
* tests/lex-clean-cxx.test: Move the dummy 'yywrap' function
from the main '.cc' file into the '.lxx' file, so that it won't
be subject to the namespace declaration in the '.cc' file (which
was causing a spurious link error in systems without a default
"lex library").
|
|
0a8cfb4c
|
2011-12-21T19:13:17
|
|
yacc/lex tests: avoid too much failures with FreeBSD make
In various Yacc/Lex tests, we used to run "make distcheck" commands
whose value was mostly dubious, and, even when it was there, was
very, very little. The presence of these extra distchecks had two
disadvantages: it slowed down our already-too-slow testsuite even
more, and, much worse, caused a lot of extra failures with FreeBSD,
all due to automake bug#7884, which is already exposed by the test
case `yacc-dist-nobuild.test'.
We can improve this situation by simply removing "make distcheck"
calls from a few testcases, or making them conditional to the use
of GNU make.
* tests/lex-clean-cxx.test: Do not call "make distcheck".
* tests/lex-clean.test: Likewise.
* tests/yacc-clean-cxx.test: Likewise.
* tests/yacc-clean.test: Likewise.
* tests/yflags-force-override.test: Likewise.
* tests/yacc-nodist.test: Only run "make distcheck" if make
is GNU make.
|
|
1d76d3f5
|
2011-06-28T12:23:48
|
|
lex tests: fix spurious link errors on Solaris
On Solaris 10, linking of lex-generated programs was failing in a
couple of lex tests with errors like this:
g++ -g -O2 -o joe joe.o -ll
Undefined symbol first referenced in file
yywrap() joe.o
ld: fatal: Symbol referencing errors. No output written to joe
collect2: ld returned 1 exit status
This change fixes it, also fixing at once potential problems for
systems that don't have a "lex library" (this happens for example
when cross-compiling from GNU/Linux to MinGW).
* tests/lex-depend-cxx.test (joe.ll, moe.l++): Define a dummy
`yywrap()' function.
* tests/lex-clean-cxx.test (mainfoo.cc, mainbar.cpp, mainbaz.c++,
mainqux.cxx): Likewise.
|
|
fea854ed
|
2011-05-13T20:51:50
|
|
lex: "make clean" removes .c files from non-distributed .l
Previously, while automake did *not* distribute C source and header
files derived from non-distributed Lex sources, it still caused
them to be removed only by "make maintainer-clean" only, and not by
simply "make clean" or "make distclean".
This caused "make distcheck" to fail, unless the developer put
those generated .c files in CLEANFILES or in DISTCLEANFILES by
hand.
This change fixes this issue, by making non-distributed `.c' files
generated by non-distributed Lex sources cleaned by "make clean".
A similar problem for Yacc support had been fixed with the commit
v1.11-263-ged2c8bc.
* tests/automake.in (lang_lex_target_hook): Make C source files
derived from non-distributed Lex files cleaned by "make clean",
not only by "make maintainer-clean".
* tests/lex-clean.test: New test.
* tests/lex-clean-cxx.test: Likewise.
* tests/lex-nodist.test: Likewise.
* tests/lex-pr204.test: Likewise.
* tests/pr204.test: For consistency, renamed ...
* tests/yacc-pr204.test: ... to this, and updated to keep it
more in sync with 'lex-pr204.test'.
* tests/yacc-nodist.test: Updated to keep it more in sync with
'lex-nodist.test'.
* tests/Makefile.am (TESTS): Update.
* NEWS: Update.
|