When the current token is an identifier that takes the abstract syntax
of a format specifier, but its "name" part is not a valid format name,
parse_format_specifier() returned false but still consumed the token.
This is a potential issue for callers that want to report an error that
mentions the identifier, e.g. parse_primary(), although the current lexer
tends to retain the same identifier when the new token is not an
identifier.
John Darrington [Sun, 17 Oct 2010 14:50:47 +0000 (16:50 +0200)]
Fix test failures on T-TEST command.
The t-test command is documented to ignore cases
which are not in a valid group.
The new levene function does not have any awareness
of the group criteria. Therefore we must remove any
values which are not in a valid group.
Ben Pfaff [Sat, 16 Oct 2010 20:49:37 +0000 (13:49 -0700)]
doc: Always build ni.texi, tut.texi in source directory.
When the source and build directories are different, ni.texi and tut.texi
were being built in the build directory. This meant that, since
$(builddir)/doc is not in the TeX search path, but $(builddir) is (because
it is the working directory when TeX is invoked), the @include commands
that include ni.texi and tut.texi had to specify doc/ explicitly.
However, doing that broke the case where the source and build directories
were different but ni.texi or tut.texi were in the source directory (which
happens when building from a tarball or, similarly, running "make
distcheck"), because $(top_srcdir) is not in the TeX search path (only
$(top_srcdir)/doc is).
The easiest solution appears to be to always make sure that ni.texi and
tut.texi are in the source directory. Then they are always in the TeX
search path (as long as we drop the doc/ prefix) and everything should
work out OK.
Reported by Michel Boaventura <michel@michelboaventura.com>.
Ben Pfaff [Mon, 11 Oct 2010 04:13:21 +0000 (21:13 -0700)]
pspp: Don't attempt fancy clean-up upon receiving a fatal signal.
Otherwise PSPP often assert-fails on Control+C.
In the long run it is probably friendlier to return to the command prompt
upon Control+C, but simply deleting temporary files and exiting cleanly
is preferable to an assert-fail.
Ben Pfaff [Sun, 10 Oct 2010 04:12:33 +0000 (21:12 -0700)]
EXAMINE: Convert some more tests to Autotest framework.
I'm not really sure that big-input-2.sh was an EXAMINE bug. It could have
been a more generic bug. I wasn't able to quickly determine what its
original motivation was.
Ben Pfaff [Sat, 9 Oct 2010 03:59:10 +0000 (20:59 -0700)]
perl-module: Fix build race.
perl_module_tarball invokes module-make in a submake. In turn, until now
module-make has depended on src/libpspp-core.la. But if a parallel build
is in progress, then the parent make is likely also building the same
library. Sometimes the race in linking this library causes build failures.
The ideal solution would be to avoid the submake. We could do this, by
giving the files in the build different names from those in the source
directory (e.g. distributing the files with .dist extensions, or copying
them into or out of a subdirectory).
This commit instead implements a minimal fix, by making the dependency on
src/libpspp-core.la part of the top-level perl_module_tarball target,
instead of part of the submake's module-make target.
With this commit, 10 consecutive test runs on my laptop completed
successfully. Without this commit, about 50% of nontrivial builds fail.
Ben Pfaff [Sat, 9 Oct 2010 03:24:14 +0000 (20:24 -0700)]
tests: Distribute testsuite.at and loosen its dependencies.
testsuite.at has to be distributed or "make" from a distributed tarball
will have to make it, which means that the system used for building needs
Autoconf installed and will need to write to the source directory.
testsuite.at cannot depend on the Makefile or it will have to be rebuilt
every time "configure" runs, which would also cause the problems mentioned
above.