Stefano Lattarini [Sat, 21 May 2011 09:03:00 +0000 (11:03 +0200)]
tests/README: small consistency improvement
* tests/README (Section "User interface" subsection "Running the
tests"): In examples, be more consistent w.r.t. the differences
between GNU and non-GNU make.
Stefano Lattarini [Sat, 21 May 2011 08:59:53 +0000 (10:59 +0200)]
tests/README: suggest how to run tests in cross-compile mode
* tests/README (Section "User interface" subsection "Running the
tests"): Briefly explain how to override 'host_alias' at runtime
to force the use of cross-compilers by the testsuite. Give an
example.
Stefano Lattarini [Sat, 21 May 2011 07:12:06 +0000 (09:12 +0200)]
test defs: better detection of cross-compile mode
* configure.ac (AC_CANONICAL_HOST): New, probably not strictly
necessary, but useful to complements AC_CANONICAL_BUILD.
* tests/defs-static.in ($host_alias, $build_alias): New variables,
exported, user-overridable, defaults AC_SUBST'd by configure.
* tests/defs (cross_compiling): Consider cross-compilation mode
active only if `$host_alias' is not empty *and* it differs from
`$build_alias'. This is more faithful to the way configure
determines whether it is cross-compiling, but still allows the
user to easily force cross-compilation by overriding `host_alias'
and `build_alias' at runtime.
From a report by Ralf Wildenhues.
Stefano Lattarini [Fri, 20 May 2011 22:08:02 +0000 (00:08 +0200)]
Merge branch 'master' into testsuite-work
* master:
testsuite: avoid re-running few tests with 'parallel-tests' option
testsuite: allow tests to avoid the use of 'parallel-tests' option
tests/README: update obsoleted advice
Stefano Lattarini [Fri, 20 May 2011 21:33:09 +0000 (23:33 +0200)]
Merge branch 'maint'
* maint:
testsuite: avoid re-running few tests with 'parallel-tests' option
testsuite: allow tests to avoid the use of 'parallel-tests' option
tests/README: update obsoleted advice
Stefano Lattarini [Fri, 20 May 2011 21:18:39 +0000 (23:18 +0200)]
testsuite: avoid re-running few tests with 'parallel-tests' option
Some tests in our testsuite use the 'simple-tests' driver only
marginally, or simply as a mean to conveniently check unrelated
invariants. It makes little sense to force these tests to also
run with the 'parallel-tests' Automake option active, as doing so
offers no real gain in coverage, while often causing a measurable
overhead in execution time (for an already too-slow testsuite).
* tests/pr401.test (parallel_tests): Define to "no", to prevent
the generation of a sibling test script using the 'parallel-tests'
driver.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
Stefano Lattarini [Fri, 20 May 2011 20:31:40 +0000 (22:31 +0200)]
testsuite: allow tests to avoid the use of 'parallel-tests' option
* tests/gen-parallel-tests: Do not generate "siblings" for tests
that explicitly define the `parallel_tests', whether to "yes" or
to any other value. Extend heading comments to give a rationale
for this behaviour.
* tests/README: Update.
Stefano Lattarini [Fri, 20 May 2011 20:15:32 +0000 (22:15 +0200)]
tests/README: update obsoleted advice
* tests/README (Section "Writing test cases" subsection "Do"):
Do not suggest to use the `*-p.test' pattern for the names of
hand-written tests which use the `parallel-tests' Automake option.
Not only is this not respected by the existing tests, but it is
more likely to cause conflicts with auto-generated tests.
So, suggest to *avoid* using the `*-p.test' pattern in names
of hand-written tests instead.
(Section "Writing test cases" subsection "Do not"): When
suggesting not to override Makefile variables using command
line arguments, do not use the badly outdated variables `U'
and 'ANSI2KNR' in the example; instead, use the more common
and typical `DESTDIR'.
Stefano Lattarini [Thu, 19 May 2011 20:50:35 +0000 (22:50 +0200)]
fix typos in latest ChangeLog entry
Stefano Lattarini [Sun, 15 May 2011 14:33:01 +0000 (16:33 +0200)]
tests: avoid spurious failures in cross-compile mode
* tests/depcomp2.test: Ensure verbose printing of captured stderr
from configure.
* tests/ansi3.test ($required): Add 'native', as the ansi2knr
functionality is not meant to work with a cross-compiler.
* tests/ansi3b.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/ansi6.test: Likewise.
* tests/ansi7.test: Likewise.
* tests/ansi8.test: Likewise.
* tests/ansi10.test: Likewise.
* tests/subobj3.test: Likewise.
* tests/check8.test ($required): Add 'native', as this test is
not meant to work with a cross-compiler.
* tests/gnits2.test: Likewise.
* tests/ltconv.test: Likewise.
* tests/ltcond2.test: Likewise.
* tests/parallel-tests5.test: Likewise.
* tests/specflg7.test: Likewise.
* tests/specflg8.test: Likewise.
* tests/check5.test: Likewise. Also, ensure verbose printing of
captured make output, and thrown in few cosmetic and consistency
improvements.
* tests/ltinit.test: Be laxer in grepping configure output, to
avoid spurious failures on systems which lack POSIX dynamic
linking (e.g., MinGW), or when cross-compiling for such systems.
* tests/ansi9.test: Skip parts of the test that would require a
native compiler.
* tests/backcompat6.test: Likewise.
* tests/depcomp8a.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/target-cflags.test: Likewise.
* tests/lex3.test: Likewise.
* tests/yacc-basic.test: Likewise.
* tests/autohdr4.test: Likewise. Also, extend the test to ensure
more coverage in cross-compile mode.
* tests/canon7.test: Likewise.
* tests/check9.test: Removed, split into two new tests ...
* tests/check-subst-prog.test: ... this one, which requires a
native C compiler ...
* tests/check-subst.test: ... and this one, which doesn't require
any compiler.
* tests/parallel-tests4.test: Removed, split into two new tests ...
* tests/parallel-tests-suffix-prog.test: ... this one, which
requires a native C compiler ...
* tests/parallel-tests-suffix.test: ... and this one, which
doesn't require any compiler.
* tests/parallel-tests7.test: Removed, split into two new tests ...
* tests/parallel-tests-ext-driver-prog.test: ... this one, which
requires a native C compiler ...
* tests/parallel-tests-ext-driver.test: ... and this one, which
doesn't require any compiler.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Thu, 19 May 2011 20:07:48 +0000 (22:07 +0200)]
Merge branch 'master' into testsuite-work
* master:
test defs: rename requirement 'non-cross' -> 'native'
Stefano Lattarini [Thu, 19 May 2011 19:53:02 +0000 (21:53 +0200)]
Merge branch 'maint'
* maint:
test defs: rename requirement 'non-cross' -> 'native'
Stefano Lattarini [Thu, 19 May 2011 19:48:27 +0000 (21:48 +0200)]
test defs: rename requirement 'non-cross' -> 'native'
* tests/defs.in (non-cross): Rename requirement ...
(native): ... to this, which is clearer and fits the
existing lingo better.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Sun, 15 May 2011 13:38:14 +0000 (15:38 +0200)]
Merge branch 'master' into testsuite-work
* master:
testsuite: be more cross-compile friendly
tests: fix portability issues in 'repeated-options.test'
Stefano Lattarini [Sun, 15 May 2011 13:35:27 +0000 (15:35 +0200)]
Merge branch 'maint'
* maint:
testsuite: be more cross-compile friendly
Stefano Lattarini [Sun, 15 May 2011 12:30:43 +0000 (14:30 +0200)]
testsuite: be more cross-compile friendly
* tests/defs.in (cross_compiling): New subroutine.
(am__tool_prefix): New internal variable.
(gcc, g++, gcj): Force the use of the correct "tool prefix"
when cross compiling.
(gfortran, g77, non-cross): New requirements.
Stefano Lattarini [Sun, 15 May 2011 12:41:57 +0000 (14:41 +0200)]
Merge branch 'test-repeated-options-portability-fix'
Stefano Lattarini [Sun, 15 May 2011 12:41:35 +0000 (14:41 +0200)]
tests: fix portability issues in 'repeated-options.test'
* tests/repeated-options.test: Do not assume that object files
have `.o' suffix and executables have no default suffix; instead,
use `$(OBJEXT)' and `$(EXEEXT)'.
Stefano Lattarini [Sat, 7 May 2011 13:40:54 +0000 (15:40 +0200)]
Merge branch 'master' into testsuite-work
* master:
tests: fix spurious failure of extradep.test on FreeBSD
Stefano Lattarini [Sat, 7 May 2011 13:39:37 +0000 (15:39 +0200)]
Merge branch 'maint'
* maint:
tests: fix spurious failure of txinfo21.test on FreeBSD
Stefano Lattarini [Sat, 7 May 2011 13:38:56 +0000 (15:38 +0200)]
Merge branch 'maint' into testsuite-work
* maint:
tests: fix spurious failure of txinfo21.test on FreeBSD
Stefano Lattarini [Sat, 7 May 2011 13:35:35 +0000 (15:35 +0200)]
Merge branch 'test-silentcxx-gcc-fix' into testsuite-work
Stefano Lattarini [Sat, 7 May 2011 12:18:47 +0000 (14:18 +0200)]
tests: fix syntax error in 'silentcxx-gcc.test'
* tests/silentcxx-gcc.test (for config_args in ...): Remove extra
trailing backslash from the list of looped-on items.
Stefano Lattarini [Sat, 7 May 2011 13:23:57 +0000 (15:23 +0200)]
Merge branch 'test-extradep-fix'
Stefano Lattarini [Sat, 7 May 2011 13:23:28 +0000 (15:23 +0200)]
typofix in ChangeLog
Stefano Lattarini [Sat, 7 May 2011 13:10:14 +0000 (15:10 +0200)]
Merge branch 'test-extradep-fix'
Stefano Lattarini [Sat, 7 May 2011 10:58:51 +0000 (12:58 +0200)]
tests: fix spurious failure of extradep.test on FreeBSD
* tests/extradep.test: When using `ls -t' to determine whether a
file has been updated, make sure to use as reference a file whose
timestamp is expected to be *strictly* older that that of the file
being checked. This is required because at least FreeBSD `ls' do
not sort files with the same timestamp in alphabetical order when
using the `-t' option.
* tests/extradep2.test: Likewise.
Stefano Lattarini [Sat, 7 May 2011 12:34:39 +0000 (14:34 +0200)]
tests: fix spurious failure of txinfo21.test on FreeBSD
* tests/txinfo21.test: Use the `is_newest' subroutine instead of
the `ls -t' hack to to determine whether a file has been updated.
This is required because at least FreeBSD `ls' do not sort files
with the same timestamp in alphabetical order when using the `-t'
option.
Stefano Lattarini [Sat, 7 May 2011 09:50:02 +0000 (11:50 +0200)]
Merge branch 'fix-depmod-tests-generation' into testsuite-work
Stefano Lattarini [Sat, 7 May 2011 09:49:40 +0000 (11:49 +0200)]
depmod tests: fix bug in depmodes list extraction
* tests/depmod-tests.sh (get_depmodes): Use `echo $all_depmodes'
instead of `... | tr "$nl" "$sp"' to strip extra whitespaces and
newlines from `$all_depmodes'. The latter idiom with `tr' is
wrong since it gets run before `./defs' is sourced, and thus `$nl'
and `$sp' are undefined.
Bug revealad by FreeBSD tr(1) implementation, which doesn't accept
empty strings as arguments.
Stefano Lattarini [Wed, 4 May 2011 21:36:25 +0000 (23:36 +0200)]
tests: add excerpts from few original bug reports, for clarity.
* tests/comment6.test: Add excerpts and/or details from the
original bug report that prompted this tests to be added and/or
extended.
* tests/dejagnu4.test: Likewise.
* tests/installdir.test: Likewise.
Stefano Lattarini [Wed, 4 May 2011 21:09:54 +0000 (23:09 +0200)]
Merge branch 'master' into testsuite-work
Stefano Lattarini [Wed, 4 May 2011 21:06:16 +0000 (23:06 +0200)]
ChangeLog: some typofixes
Stefano Lattarini [Wed, 4 May 2011 20:50:59 +0000 (22:50 +0200)]
Merge branch 'maint'
Stefano Lattarini [Wed, 4 May 2011 20:42:19 +0000 (22:42 +0200)]
ChangeLog: various typofixes (and related reformatting)
Stefano Lattarini [Wed, 4 May 2011 20:21:53 +0000 (22:21 +0200)]
Merge branch 'maint'
With some edits to `tests/defs' and `ChangeLog', to reflect the
fact that in master we already had a `yacc' requirement, and no
more had an explicitly-recognized `bison' requirement.
Stefano Lattarini [Wed, 4 May 2011 16:42:11 +0000 (18:42 +0200)]
tests defs: allow requirements for compilers (mostly dummy)
Most of the new requirements that are now accepted in `$required'
as consequence of this patch are still dummy. They are planned
to be implemented only in master (or in some derived branch), but
having them here (even just as no-op) will allow for an easier
integration/backporting of potential new testcases.
* tests/defs.in (cc, c++, fortran, fortran77): New requirements,
still dummy.
(flex): New requirement, picking LEX for configure.
(lex): New requirement, alias for `flex'. A more appropriate
implementation, looking for a generic `lex' program, will follow
in the future.
(yacc): New requirement, alias for `bison'. A more appropriate
implementation, looking for a generic `yacc' program, will follow
in the future.
Stefano Lattarini [Wed, 4 May 2011 09:58:21 +0000 (11:58 +0200)]
tests: 'silent-many-gcc.test' improved and made more robust
* tests/silent-many-gcc.test: Also force "fast" gcc depmode
for C++ compilations. Add sanity checks verifying that the
cache variables we force are really used by configure. Fix
typo in comments.
Stefano Lattarini [Wed, 4 May 2011 09:48:19 +0000 (11:48 +0200)]
tests: drop useless requirements of 'g++'
* tests/lflags2.test ($required): Remove 'g++', as any working
C++ compiler should be enough, and ./configure will cause the
test to skip if no working C++ compiler is found.
* tests/yflags2.test: Likewise.
* tests/subobj9.test: Likewise.
* tests/silentcxx.test: Likewise. Also, do not force depmodes
that could cause non-GNU C++ compilers to fail.
* tests/silentcxx-gcc.test: New test, like `silentcxx.test',
but forcing "fast" gcc depmode (and thus requiring the GNU C++
compiler).
* tests/specflg10.test: Add proper "fixme" comment telling that
we should make this test work with a generic C++ compiler.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Tue, 3 May 2011 21:40:00 +0000 (23:40 +0200)]
tests defs: one more environment sanitization (corner case)
* tests/defs (am__using_gmake): Initialize. The `using_gmake'
subroutine was using this variable for caching, but wasn't
initializing it, which could cause problems in the (admittedly
very unlikely) case in which it was pre-existent in the
environment.
Stefano Lattarini [Tue, 3 May 2011 17:23:31 +0000 (19:23 +0200)]
Merge branch 'master' into testsuite-work
Stefano Lattarini [Tue, 3 May 2011 17:21:28 +0000 (19:21 +0200)]
Merge branch 'tests-man-fixes'
Stefano Lattarini [Tue, 3 May 2011 17:19:13 +0000 (19:19 +0200)]
tests: add forgotten test scripts to $(TESTS)
* tests/Makefile.am (TESTS): Added test scripts man[678].test,
which have been present on the filesystem and in the repository,
but which had erroneously been left out from $(TESTS).
Stefano Lattarini [Tue, 3 May 2011 17:08:30 +0000 (19:08 +0200)]
Merge branch 'check-tests-list' into testsuite-work
Stefano Lattarini [Sat, 30 Jan 2010 00:23:44 +0000 (01:23 +0100)]
maintcheck: consistency of list of test scripts
* CheckListOfTests.am: New file.
(maintainer-check-list-of-tests): New target,
check for consistency between list of tests defined in the
including Makefile and list of tests on the filesystem.
(clean-maintcheck-testslist-tmp): New rule, to clean up the
temporary files that might be left around by the rules associated
with the previous target.
(clean-local): Depend on it.
* lib/Automake/tests/Makefile.am: Include `CheckListOfTests.am'.
(maintainer-check): Added dependency from the new target
`maintainer-check-list-of-tests'.
* tests/Makefile.am: Likewise.
* Makefile.am (maintainer-check-list-of-test): New target,
calling recursively into `tests/' and `lib/Automake/tests/',
using ...
(TEST_SUBDIRS): ... this new variable.
Stefano Lattarini [Tue, 3 May 2011 16:24:29 +0000 (18:24 +0200)]
tests: ensure verbose printing of captured make output
* tests/libtool7.test: Ensure verbose printing of captured
make output.
* tests/libtool9.test: Likewise.
Stefano Lattarini [Tue, 3 May 2011 15:51:42 +0000 (17:51 +0200)]
tests: drop useless requirements of gcc (plus testsuite tweakings)
* tests/libobj14.test ($required): Remove 'gcc', as we never run
the C compiler.
* tests/targetclash.test: Likewise.
* tests/ansi6.test ($required): Remove 'gcc', as any working
C compiler should be enough.
* tests/ansi7.test: Likewise.
* tests/ansi9.test: Likewise.
* tests/ansi10.test: Likewise.
* tests/lex5.test: Likewise.
* tests/lexvpath.test: Likewise.
* tests/mmodely.test: Likewise.
* tests/pr204.test: Likewise.
* tests/pr300-lib.test: Likewise.
* tests/pr300-prog.test: Likewise.
* tests/primary3.test: Likewise.
* tests/specflg7.test: Likewise.
* tests/specflg8.test: Likewise.
* tests/subdir5.test: Likewise.
* tests/subdir8.test: Likewise.
* tests/subobj6.test: Likewise.
* tests/subst3.test: Likewise.
* tests/substre2.test: Likewise.
* tests/yacc6.test: Likewise.
* tests/yacc8.test: Likewise.
* tests/depcomp2.test: Likewise. Also, avoid clobbering user-set
CFLAGS.
* tests/lex3.test: Likewise.
* tests/ansi3.test: Likewise. Also, avoid 'CC=gcc' in configure.
* tests/ansi3b.test: Likewise.
* tests/ansi5.test: Likewise.
* tests/autohdr4.test ($required): Remove 'gcc', as any working
C compiler should be enough.
Also, do not reject slow dependency extractors (which we might
be forced to use now that $CC is not necessarily gcc anymore).
* tests/cond16.test ($required): Remove 'gcc', as any working
C compiler should be enough.
Since we are at it, throw in few minor tweakings (mostly cosmetic,
stylistic, or consistency-related).
* tests/cond18.test: Likewise.
* tests/cond35.test: Likewise.
* tests/gnits2.test: Likewise.
* tests/libtool3.test: Likewise.
* tests/libtool7.test: Likewise.
* tests/libtool9.test: Likewise.
* tests/ltcond.test: Likewise.
* tests/ltcond2.test: Likewise.
* tests/ltconv.test: Likewise.
* tests/ltlibsrc.test: Likewise.
* tests/nobase.test: Likewise.
* tests/nobase-libtool.test: Likewise.
* tests/pr220.test: Likewise.
* tests/pr224.test: Likewise.
* tests/pr300-ltlib.test: Likewise.
* tests/pr401.test: Likewise.
* tests/pr401b.test: Likewise.
* tests/pr401c.test: Likewise.
* tests/subpkg.test: Likewise.
* tests/target-cflags.test: Likewise.
* tests/transform.test: Likewise.
* tests/yacc4.test: Likewise.
* tests/cond19.test: Likewise. Also, avoid clobbering user-set
CFLAGS.
* tests/cond4.test: Likewise.
* tests/depend2.test: Likewise.
* tests/pr87.test: Likewise.
* tests/subobj3.test: Likewise.
* tests/substref.test: Likewise.
Stefano Lattarini [Tue, 3 May 2011 10:00:10 +0000 (12:00 +0200)]
test defs: increase coverage w.r.t. GNU make
* tests/defs (GNUmake): Instead of just skipping the tests
requiring GNU make if $MAKE is not GNU make, try to look for
it and, if found, redefine $MAKE accordingly. This will help
to transparently increase coverage on non-GNU systems which
have GNU make available in PATH.
Stefano Lattarini [Tue, 3 May 2011 09:29:44 +0000 (11:29 +0200)]
tests: improve few inter-tests references
* tests/acloca22.test: Improve and extend the heading comments.
Add reference to related tests 'remake-deleted-m4-file.test' and
'remake-renamed-m4-macro-and-file.test'. Since we are at it,
add trailing `:' command, and few blank lines for readability.
* tests/remake-renamed-m4-macro-and-file.test: In the heading
comments, add reference to the related test 'acloca22.test'.
Stefano Lattarini [Tue, 3 May 2011 09:06:30 +0000 (11:06 +0200)]
Merge branch 'master' into testsuite-work
Stefano Lattarini [Mon, 2 May 2011 17:04:01 +0000 (19:04 +0200)]
tests: few more checks on automatic remake support
* tests/remake-all-1.test: New test, check that the "all" target
triggers rebuilt of outdated Makefiles.
* tests/remake-all-2.test: Likewise, but for when the makefiles
are not named `Makefile'.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Mon, 2 May 2011 16:05:34 +0000 (18:05 +0200)]
tests: check some remake features with non-GNU make too
* tests/acloca14.test ($required): Drop "GNUmake". This test
works as-is with non-GNU make implementations.
* tests/remake1a.test: Likewise.
* tests/aclocal4.test ($required): Drop "GNUmake".
Modify the test to have it work also with non-GNU make.
* tests/remake5.test: Likewise.
* tests/remake8a.test: Likewise.
* tests/remake8b.test: Likewise.
* tests/remake9a.test: Likewise.
* tests/remake9b.test: Likewise.
* tests/remake9c.test: Likewise.
* tests/remake9d.test: Likewise.
* tests/remake10a.test: Likewise.
* tests/remake10b.test: Likewise.
* tests/remake10c.test: Likewise.
* tests/remake12.test: ($required): Drop "GNUmake".
Adapt the test to make it work also with non-GNU make (if
it supports an "include" directive).
Stefano Lattarini [Mon, 2 May 2011 22:27:07 +0000 (00:27 +0200)]
tests: fix spurious failure in 'color2.test'
* tests/color2.test: If $MAKE contains command-line arguments (as
in e.g., "make -j2"), expect's directive "spawn $env(MAKE)" fails
spuriously, because it tries to run "$MAKE" as a single command.
Fix this with proper uses of the TCL `eval' builtin.
Stefano Lattarini [Sun, 17 Apr 2011 12:28:17 +0000 (14:28 +0200)]
tests: extend tests on dependency tracking with VPATH
* tests/depmod-tests.sh: New script, fulfilling a threefold role:
1. it is called to generate a Makefile.am snippet, containing the
definition of proper lists of tests;
2. it is called to set up a directory containing some common data
files and autotools-generated files used by the aforementioned
tests (this is done for speed reasons only); and
3. it is called to properly run those tests, one at a time.
* tests/depcomp9.test: Delete, it's obsolete now.
* tests/depcomp10.test: Likewise.
* tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
snippet, which defines ...
(depmode_tests): ... this new macro, containing the list of the
newly generated `*.depmod' tests.
(TESTS_EXTENSIONS): Add `.depmod'.
(DEPMOD_LOG_COMPILER): Define. It calls `depmod-tests.sh', so that
the "depmode tests" will be executed by passing that driver script
a proper parameter.
($(depmod_tests)): New dependency declaration (dummy, but required
in order to have make actually produce expected log files from the
`.depmod.log' suffix rule).
(TESTS): Add $(depmod_tests).
(EXTRA_DIST): Distribute depmod-tests.sh.
Other minor cosmetic changes and reorderings.
* bootstrap: Generate depmod-tests.am.
* tests/.gitignore: Updated.
Stefano Lattarini [Wed, 16 Feb 2011 12:46:33 +0000 (13:46 +0100)]
tests: avoid extra test generation (for `instspc' tests)
We don't really need to generate tons and tons of wrapper test
scripts (presently, ~ 90) just to run what is basically a single
test (specifically, `instspc-tests.sh') with different parameters.
In fact, the possibility of running a single driver script with
multiple files/configurations/parameters is one of the major
selling points of the 'parallel-tests' testsuite driver of
automake. So why not use ourselves more extensively the best
features we provide?
* tests/instspc-tests.sh: Update heading comments. Expect
to be executed, not sourced. Update handling of command-line
arguments. Adjust to reflect the renaming of "instspc tests"
from `instspc-*.test' to `*.instspc'.
* tests/instspc-data.test: Update heading comments. Execute
driver script `instspc-tests.sh', instead of sourcing it.
Give more informative messages in case of internal errors.
* tests/Makefile.am (TESTS_EXTENSIONS): Define explicitly (to
`.test' and `.instspc').
(TESTS): Add `$(instspc_tests)'.
(generated_tests): Remove `$(instspc_tests)'.
(INSTSPC_LOG_COMPILER): Define. Calls `instspc-tests.sh', so
that the "instspc tests" will be now executed by passing that
driver script a proper parameter.
($(instspc_tests)): Remove, we don't need anymore to generate
this tests.
($(instspc_tests:.test=.log)): Remove, substituted by ...
($(instspc_tests:.instspc=.log)): ... this.
($(instspc_tests)): New dependency declaration (dummy, but
required in order to have make actually produce expected log
files from the `.instspc.log' suffix rule).
(MAINTAINERCLEANFILES, generated_tests): Don't extend with
$(instspc_tests) anymore.
Update comments.
Stefano Lattarini [Wed, 16 Feb 2011 12:46:33 +0000 (13:46 +0100)]
build: improve the definition of the list of testcases
* tests/Makefile.am (handwritten_tests): New variable.
(generated_tests): Likewise.
(TESTS): Redefine as the union of the above.
(EXTRA_DIST): Extend using $(handwritten_tests) and
$(generated_tests) rather than $(TESTS).
* tests/gen-parallel-tests: Update accordingly, and
make more robust.
Stefano Lattarini [Sun, 1 May 2011 14:50:38 +0000 (16:50 +0200)]
tests skips: shorter and clearer messages
* tests/defs: Use shorter messages when giving reasons for test
skipping; it turns out these shorter messages are also clearer.
If more info might be useful, send them to the log file only.
Stefano Lattarini [Sun, 1 May 2011 13:57:06 +0000 (15:57 +0200)]
Merge branch 'master' into testsuite-work
Stefano Lattarini [Sun, 1 May 2011 13:54:46 +0000 (15:54 +0200)]
tests: fix self check spurious failure with older bash versions
* tests/self-check-cleanup.test: Add trailing `:' to the test code
passed to $SHELL, otherwise older versions of bash (at least 2.05
and 3.2.39) fail to correctly remove the temporary directory in
the exit trap.
Stefano Lattarini [Sun, 1 May 2011 12:57:47 +0000 (14:57 +0200)]
tests: add sanity check to 'self-check-cleanup.test'
* tests/self-check-cleanup.test: Check that the "hacked" file
`defs-static' used by the test differs from the "vanilla" one
in builddir. This also offers a little more debugging output.
Stefano Lattarini [Sun, 1 May 2011 08:12:51 +0000 (10:12 +0200)]
testsuite: display reasons for skips to the console
* tests/Makefile.am (AM_TESTS_ENVIRONMENT): Open file descriptor
`9' to the original stderr; define `stderr_fileno_' to `9', and
export it.
* tests/self-check-report.test: Prevent new spurious failures by
removing from the environment any definition of `stderr_fileno_'.
Stefano Lattarini [Wed, 2 Jun 2010 22:30:03 +0000 (00:30 +0200)]
testsuite: use `skip_' for skipping of tests
* tests/defs: Use the `skip_' subroutine for test skipping. Also
give sometimes more detailed messages about the reasons for the
skipping.
* tests/canon7.test: Likewise.
* tests/color.test: Likewise.
* tests/color2.test: Likewise.
* tests/compile2.test: Likewise.
* tests/dejagnu7.test: Likewise.
* tests/depcomp6.test: Likewise.
* tests/depcomp9.test: Likewise.
* tests/depcomp10.test: Likewise.
* tests/distlinks.test: Likewise.
* tests/distlinksbrk.test: Likewise.
* tests/fn99.test: Likewise.
* tests/fn99subdir.test: Likewise.
* tests/forcemiss2.test: Likewise.
* tests/fort5.test: Likewise.
* tests/gettext3.test: Likewise.
* tests/install2.test: Likewise.
* tests/instfail-info.test: Likewise.
* tests/instfail-java.test: Likewise.
* tests/instfail-libtool.test: Likewise.
* tests/instfail.test: Likewise.
* tests/instmany-mans.test: Likewise.
* tests/instmany-python.test: Likewise.
* tests/instmany.test: Likewise.
* tests/instsh3.test: Likewise.
* tests/ltinit.test: Likewise.
* tests/makej2.test: Likewise.
* tests/mdate6.test: Likewise.
* tests/mkinst3.test: Likewise.
* tests/parallel-tests3.test: Likewise.
* tests/parallel-tests-reset-term.test: Likewise.
* tests/parallel-tests-unreadable-log.test: Likewise,
* tests/python-virtualenv.test: Likewise.
* tests/remake-gnulib-remove-header.test: Likewise.
* tests/subobj9.test: Likewise.
* tests/symlink2.test: Likewise.
* tests/tar.test: Likewise.
* tests/tar2.test: Likewise.
* tests/txinfo26.test: Likewise.
* tests/vala2.test: Likewise.
* tests/vala3.test: Likewise.
* tests/vala5.test: Likewise.
* tests/vtexi4.test: Likewise.
* tests/instdir-texi.test: Likewise.
* tests/txinfo21.test: Likewise.
SquashMe
Stefano Lattarini [Fri, 29 Apr 2011 17:45:40 +0000 (19:45 +0200)]
testsuite: more environment sanitization
* tests/defs: Move the checks verifying that the variables `me',
`parallel_tests' and `required' aren't set in the environment ...
* tests/defs-static.in: ... in here, with some optimizations to
avoid useless forks. Also, do the same checks for the variables
`original_AUTOMAKE' and `original_ACLOCAL' too.
* tests/self-check-env-sanitize.test: Update.
* tests/Makefile.am (TESTS_ENVIRONMENT): Unset also variables
`original_AUTOMAKE' and `original_ACLOCAL'.
Stefano Lattarini [Sun, 24 Apr 2011 16:09:30 +0000 (18:09 +0200)]
Merge branch 'am-tests-environment-fix-merge'
Stefano Lattarini [Sun, 24 Apr 2011 16:08:44 +0000 (18:08 +0200)]
tests: fix spurious failure (non-renamed AM_TESTS_SETUP usage)
* tests/parallel-tests-reset-term.test: Use AM_TESTS_ENVIRONMENT
instead of AM_TESTS_SETUP (which has been removed in commit
v1.11-349-g12f48fa).
Fix spurious failure introduced by merge `v1.11-781-gfeed175'.
Stefano Lattarini [Sun, 24 Apr 2011 08:27:44 +0000 (10:27 +0200)]
Merge branch 'maint'
Stefano Lattarini [Sun, 24 Apr 2011 08:26:58 +0000 (10:26 +0200)]
Merge branch 'parallel-tests-testname-vpath-fix' into maint
Stefano Lattarini [Sun, 24 Apr 2011 08:22:05 +0000 (10:22 +0200)]
tests: fix spurious failure in a test on TESTS (VPATH-related)
* check-tests-in-builddir.test: When not using the parallel-tests
option, do not check that VPATH components are not present in the
displayed test name, since the simple-tests driver do not try to
strip them.
Stefano Lattarini [Sat, 23 Apr 2011 22:09:46 +0000 (00:09 +0200)]
Merge branch 'fix-env-selfcheck'
Stefano Lattarini [Sat, 23 Apr 2011 22:08:11 +0000 (00:08 +0200)]
tests: fix spurious failure in self-check-env-sanitize.test
* tests/self-check-env-sanitize.test: Open file descriptor `5'
to stdout.
Fix spurious failure introduced by merge `v1.11-788-g3b0c8d5'.
Stefano Lattarini [Sat, 23 Apr 2011 21:51:17 +0000 (23:51 +0200)]
Merge branch 'maint'
Stefano Lattarini [Sat, 23 Apr 2011 21:37:30 +0000 (23:37 +0200)]
test: self check subroutines for skipping/failing of tests
* tests/self-check-report.test: New test.
* tests/Makefile.am (TESTS): Update.
Jim Meyering [Sun, 16 Jan 2011 14:36:07 +0000 (15:36 +0100)]
test defs: new subroutines for test skipping/failing.
* tests/defs.in (Exit): Move definition of this function earlier.
(warn_, skip_, fail_, framework_failure_): New functions, inspired
to the homonyms in gnulib's tests/init.sh.
($stderr_fileno_): New global variable, used by the new functions
above.
* tests/README: Updated.
From a suggestion by Ralf Wildenhues.
Stefano Lattarini [Sat, 23 Apr 2011 09:22:40 +0000 (11:22 +0200)]
Merge branch 'maint'
Stefano Lattarini [Sat, 23 Apr 2011 08:55:49 +0000 (10:55 +0200)]
tests: fix typo (copy & paste blunder) in heading comment
* tests/maintclean-vpath.test: Correctly refer to the sister test
as `maintclean.test', not as `maintclean-vpath.test'.
Stefano Lattarini [Sat, 23 Apr 2011 08:48:34 +0000 (10:48 +0200)]
tests: remove redundant test `mclean.test'
* tests/mclean.test: Remove, it's a weak grepping test completely
superseded by the much more complete `maintclean.test'.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Fri, 22 Apr 2011 22:02:23 +0000 (00:02 +0200)]
Merge branch 'maint'
Stefano Lattarini [Fri, 22 Apr 2011 21:50:03 +0000 (23:50 +0200)]
testsuite: more environment sanitization
* tests/defs.in: Sanity check: abort if any of `parallel_tests'
or `required' is in the environment.
($sed_unindent_prog): Initialize to empty, to avoid interferences
from the environment.
* tests/self-check-me-in-env.test: Renamed to ...
* tests/self-check-env-sanitize.test: ... this, and extended.
* tests/Makefile.am (TESTS): Update.
(TESTS_ENVIRONMENT): Unset variables `parallel_tests' and
`required'. Adjust comments.
Stefano Lattarini [Tue, 19 Apr 2011 20:57:39 +0000 (22:57 +0200)]
tests: in self-checks, use $SHELL, not /bin/sh
* tests/self-check-me-in-env.test: Include `./defs-static' to get
the definition of `$SHELL'. Use `$SHELL' instead of `/bin/sh' to
execute the tests.
Stefano Lattarini [Tue, 19 Apr 2011 20:52:54 +0000 (22:52 +0200)]
tests: prefer AM_TESTS_ENVIRONMENT to TESTS_ENVIRONMENT
* tests/Makefile.am (TESTS_ENVIRONMENT): Renamed to ...
(AM_TESTS_ENVIRONMENT): ... this.
Stefano Lattarini [Tue, 19 Apr 2011 20:47:48 +0000 (22:47 +0200)]
Merge branch 'me-override-fix'
Stefano Lattarini [Tue, 19 Apr 2011 20:39:14 +0000 (22:39 +0200)]
Merge branch 'me-override-fix' into maint
Stefano Lattarini [Sun, 17 Apr 2011 22:29:19 +0000 (00:29 +0200)]
tests: don't allow `$me' to be overridden from the environment
* tests/defs.in: Sanity check: abort if $me is in the environment.
* tests/self-check-me-in-env.test: New test.
* tests/Makefile.am (TESTS_ENVIRONMENT): Unset variable `me'.
(TESTS): Update.
Suggestion by Ralf Wildenhues.
Stefano Lattarini [Tue, 19 Apr 2011 07:46:53 +0000 (09:46 +0200)]
Merge branch 'am-tests-environment'
Stefano Lattarini [Sun, 17 Apr 2011 22:52:03 +0000 (00:52 +0200)]
check: rename AM_TESTS_SETUP -> AM_TESTS_ENVIRONMENT
The AM_TESTS_SETUP naming was not a good one after all. It may
be technically more correct than AM_TESTS_ENVIRONMENT, but the
latter is a better one simply because it is easier to remember,
and even if you've never heard of it and only know the semantics
of TESTS_ENVIRONMENT, you can have a straightforward way to
figure out how AM_TESTS_ENVIRONMENT would work.
* tests/check.am (am__check_pre): Update.
* doc/automake.in (Simple Tests using parallel-tests): Update.
* tests/parallel-tests-am_tests_setup.test: Renamed ...
* tests/parallel-tests-am_tests_environment.test: ... to this,
and updated.
* tests/Makefile.am (TESTS): Update.
Suggestion and motivation by Ralf Wildenhues.
Stefano Lattarini [Sun, 17 Apr 2011 16:25:27 +0000 (18:25 +0200)]
Merge branch 'maint'
Stefano Lattarini [Sun, 17 Apr 2011 15:58:45 +0000 (17:58 +0200)]
test defs: allow overriding of `$me'
* tests/defs.in ($me): Allow overriding by the including test
script. Add some explicative comments.
Stefano Lattarini [Sun, 17 Apr 2011 15:28:04 +0000 (17:28 +0200)]
coverage: more tests on the parallel-tests driver
* tests/parallel-tests-interrupt.test: New test.
* tests/parallel-tests-reset-term.test: Likewise.
* tests/Makefile.am (TESTS): Update.
Stefano Lattarini [Sun, 17 Apr 2011 13:21:34 +0000 (15:21 +0200)]
Merge branch 'am-tests-setup'
Stefano Lattarini [Mon, 24 Jan 2011 10:34:32 +0000 (11:34 +0100)]
check: new developer-reserved AM_TESTS_SETUP variable
For reference, see the discussion at:
<http://lists.gnu.org/archive/html/automake-patches/2011-01/msg00213.html>
* lib/am/check.am [%?PARALLEL_TESTS%] (am__check_pre): Pass also
$(AM_TESTS_SETUP). Comments updated, and some typos fixed.
* doc/automake.texi (Simple Tests using parallel-tests): Document
AM_TESTS_SETUP. Reorder some of the existing documentation a bit.
* tests/parallel-tests-am_tests_setup.test: New test.
From a suggestion by Ralf Wildenhues.
Stefano Lattarini [Sun, 17 Apr 2011 12:53:00 +0000 (14:53 +0200)]
Merge branch 'tests-depcomp-extend' into maint
Stefano Lattarini [Sun, 17 Apr 2011 11:43:16 +0000 (13:43 +0200)]
depcomp tests: don't reject slower dependency extractors
* tests/depcomp8b.test: Add the `--enable-dependency-tracking'
option to the ./configure invocation, so that slower dependency
extractors are not rejects.
* tests/depcomp8b.test: Likewise. Also ...
(foo.c): ... since we are at it, fix spacing to be consistent
with GNU coding standards.
Stefano Lattarini [Sun, 17 Apr 2011 10:00:29 +0000 (12:00 +0200)]
Merge branch 'maint'
The following additional changes has been made:
* m4/amversion.in: Bump serial number from `1' to `8', to avoid
potential future conflicts with branch-1.11.
* m4/amversion.m4: Likewise.
* m4/gcj.m4: Likewise.
* m4/python.m4: Likewise.
* m4/install-sh.m4: Likewise.
Stefano Lattarini [Sun, 17 Apr 2011 09:21:49 +0000 (11:21 +0200)]
m4: add missing serial numbers to a few files
Related to automake bug#8483.
* m4/amversion.in: Add serial number.
* m4/auxdir.m4: Likewise.
* m4/gcj.m4: Likewise.
* m4/install-sh.m4: Likewise.
* m4/mkdirp.m4: Likewise.
* m4/python.m4: Likewise.
* m4/runlog.m4: Likewise.
* m4/strip.m4: Likewise.
* m4/upc.m4: Likewise.
Stefano Lattarini [Sat, 16 Apr 2011 12:37:03 +0000 (14:37 +0200)]
Merge branch 'self-check-fix'
Stefano Lattarini [Sat, 16 Apr 2011 12:32:29 +0000 (14:32 +0200)]
tests: fix few bugs in self checks
Related to automake bug#8508.
* tests/self-check-cleanup.test: Be laxer when grepping output
from `ls -l', to account for ACLs and SELinux-only files.
* tests/self-check-dir.test: Source `defs-static' to read in the
correct definition for $SHELL.
* tests/self-check-me.test: Likewise, and extend a bit.
Report from Jim Meyering.
Ralf Wildenhues [Sat, 16 Apr 2011 10:50:09 +0000 (12:50 +0200)]
Merge branch 'maint'
Ralf Wildenhues [Sat, 16 Apr 2011 10:49:35 +0000 (12:49 +0200)]
Merge branch 'fix-depcomp' into maint
* fix-depcomp:
depcomp: correct invalid sed invocation
Jim Meyering [Sat, 16 Apr 2011 09:55:46 +0000 (11:55 +0200)]
depcomp: correct invalid sed invocation
* lib/depcomp: Insert missing -e before '/:$/d'.
Otherwise, that use of sed would treat '/:$/d' as a file name.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
Stefano Lattarini [Fri, 15 Apr 2011 18:09:54 +0000 (20:09 +0200)]
Merge branch 'maint'