From: Stefano Lattarini Date: Tue, 3 May 2011 17:08:30 +0000 (+0200) Subject: Merge branch 'check-tests-list' into testsuite-work X-Git-Tag: ng-0.5a~89^2~249 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8061d84e54c81305fa3ad22e20de9726bec82909;p=thirdparty%2Fautomake.git Merge branch 'check-tests-list' into testsuite-work --- 8061d84e54c81305fa3ad22e20de9726bec82909 diff --cc ChangeLog index 6193e98b4,846b56931..24e24285d --- a/ChangeLog +++ b/ChangeLog @@@ -1,310 -1,23 +1,332 @@@ + 2011-05-03 Stefano Lattarini + + 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. ++ * tests/Makefile.am: Likewise. Also ... ++ (checked_test_extensions): Define to `.test'. ++ (expected_test_list): Define properly. + * Makefile.am (maintainer-check-list-of-test): New target, + calling recursively into `tests/' and `lib/Automake/tests/', + using ... + (TEST_SUBDIRS): ... this new variable. + +2011-05-03 Stefano Lattarini + + 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. + +2011-05-03 Stefano Lattarini + + 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. + +2011-05-03 Stefano Lattarini + + 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'. + +2011-05-03 Stefano Lattarini + + 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. + +2011-05-03 Stefano Lattarini + + 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. + +2011-05-03 Stefano Lattarini + + 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). + +2011-05-01 Stefano Lattarini + + 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. + +2011-05-01 Stefano Lattarini + + 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. + +2011-05-01 Stefano Lattarini + + 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. + +2011-05-01 Stefano Lattarini + + 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. + +2011-05-01 Stefano Lattarini + + 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. + +2011-05-01 Stefano Lattarini + + 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. + +2011-05-01 Stefano Lattarini + + 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_'. + +2011-05-01 Stefano Lattarini + + 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. + +2011-04-29 Stefano Lattarini + + 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'. + +2011-04-24 Stefano Lattarini + + 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'. + 2011-04-24 Stefano Lattarini tests: fix spurious failure in a test on TESTS (VPATH-related) diff --cc Makefile.am index 7ee282b5c,aeff613a7..9f9810631 --- a/Makefile.am +++ b/Makefile.am @@@ -24,6 -24,8 +24,8 @@@ ## run aclocal and automake. SUBDIRS = lib . doc m4 tests -TEST_SUBDIRS = tests lib/Automake/tests ++TEST_SUBDIRS = lib/Automake/tests tests + bin_SCRIPTS = automake aclocal CLEANFILES = $(bin_SCRIPTS) @@@ -96,25 -98,7 +98,23 @@@ automake aclocal: Makefil ## This is where `make fetch' will install new versions. ## Make sure we also update this copy. INSTALL: lib/INSTALL - cp $(srcdir)/lib/INSTALL $@ + $(AM_V_GEN)cp $(srcdir)/lib/INSTALL $@ + +## recheck: convenience proxy target for the test suites. - TEST_SUBDIRS = lib/Automake/tests tests - +.PHONY: recheck +recheck: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + for subdir in $(TEST_SUBDIRS); do \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) \ + || eval $$failcom; \ + done; \ + test -z "$$fail" ################################################################ ## diff --cc Makefile.in index 9b976a78b,ea63d6beb..6494ca09e --- a/Makefile.in +++ b/Makefile.in @@@ -246,6 -236,7 +246,7 @@@ top_build_prefix = @top_build_prefix top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = lib . doc m4 tests -TEST_SUBDIRS = tests lib/Automake/tests ++TEST_SUBDIRS = lib/Automake/tests tests bin_SCRIPTS = automake aclocal CLEANFILES = $(bin_SCRIPTS) AUTOMAKESOURCES = automake.in aclocal.in @@@ -275,13 -266,7 +276,12 @@@ do_subst = sed -e 's,[@]configure_input[@],Generated from $@.in; do not edit by hand.,g' \ -e 's,[@]datadir[@],$(datadir),g' - TEST_SUBDIRS = lib/Automake/tests tests +# Perl coverage statistics. +PERL_COVERAGE_DB = $(abs_top_builddir)/cover_db +PERL_COVERAGE_FLAGS = -MDevel::Cover=-db,$(PERL_COVERAGE_DB),-silent,on,-summary,off +PERL_COVER = cover + # Some simple checks, and then ordinary check. These are only really # guaranteed to work on my machine. syntax_check_rules = \ diff --cc lib/Automake/tests/Makefile.am index b4f09f1c7,fad3d7e1f..c6254a347 --- a/lib/Automake/tests/Makefile.am +++ b/lib/Automake/tests/Makefile.am @@@ -22,23 -23,11 +23,25 @@@ TEST_EXTENSIONS = .p TESTS = \ Condition.pl \ Condition-t.pl \ +Cond2.pl \ +Cond3.pl \ DisjConditions.pl \ DisjConditions-t.pl \ +DisjCon2.pl \ +DisjCon3.pl \ Version.pl \ +Version2.pl \ +Version3.pl \ Wrap.pl +XFAIL_TESTS = \ +Cond2.pl \ +Cond3.pl \ +DisjCon2.pl \ +DisjCon3.pl \ +Version2.pl \ +Version3.pl + EXTRA_DIST = $(TESTS) + + include $(top_srcdir)/CheckListOfTests.am diff --cc lib/Automake/tests/Makefile.in index 4eb7c6ab0,bdf721987..d82bd74bf --- a/lib/Automake/tests/Makefile.in +++ b/lib/Automake/tests/Makefile.in @@@ -283,26 -275,15 +285,29 @@@ TEST_EXTENSIONS = .p TESTS = \ Condition.pl \ Condition-t.pl \ +Cond2.pl \ +Cond3.pl \ DisjConditions.pl \ DisjConditions-t.pl \ +DisjCon2.pl \ +DisjCon3.pl \ Version.pl \ +Version2.pl \ +Version3.pl \ Wrap.pl +XFAIL_TESTS = \ +Cond2.pl \ +Cond3.pl \ +DisjCon2.pl \ +DisjCon3.pl \ +Version2.pl \ +Version3.pl + EXTRA_DIST = $(TESTS) + am__tmk = tests-in-makefile-list.tmp + am__tfs = tests-on-filesystem-list.tmp + am__tdf = diff-in-tests-lists.tmp all: all-am .SUFFIXES: diff --cc tests/Makefile.am index 0cba6a8d3,e6d309847..26ee87e55 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@@ -1055,15 -843,15 +1055,22 @@@ yacc-d-vpath.test yacc-dist-nobuild-subdir.test \ yflags.test \ yflags2.test \ -$(parallel_tests) +yflags-cmdline-override.test \ +yflags-conditional.test \ +yflags-d-false-positives.test \ +yflags-force-override.test \ +yflags-force-conditional.test \ +yflags-var-expand.test -EXTRA_DIST = ChangeLog-old gen-parallel-tests $(TESTS) + ++## Checking the test of tests. ++checked_test_extensions = .test ++expected_list_of_tests = $(handwritten_tests) $(generated_tests) + include $(top_srcdir)/CheckListOfTests.am -maintainer-check-list-of-tests: $(parallel_tests) ++maintainer-check-list-of-tests: $(expected_list_of_tests) + # Each test case depends on defs, aclocal, and automake. -check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION) +$(TEST_LOGS): defs aclocal-$(APIVERSION) automake-$(APIVERSION) clean-local: clean-local-check .PHONY: clean-local-check diff --cc tests/Makefile.in index fd06043c6,76800aae0..98b582709 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@@ -49,9 -49,8 +49,10 @@@ PRE_UNINSTALL = POST_UNINSTALL = : build_triplet = @build@ DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ - $(srcdir)/aclocal.in $(srcdir)/automake.in $(srcdir)/defs.in \ - $(srcdir)/parallel-tests.am $(top_srcdir)/CheckListOfTests.am + $(srcdir)/aclocal.in $(srcdir)/automake.in $(srcdir)/defs \ + $(srcdir)/defs-static.in $(srcdir)/depmod-tests.am \ - $(srcdir)/instspc-tests.am $(srcdir)/parallel-tests.am ++ $(srcdir)/instspc-tests.am $(srcdir)/parallel-tests.am \ ++ $(top_srcdir)/CheckListOfTests.am subdir = tests ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/amversion.m4 \ @@@ -1315,18 -1114,20 +1316,23 @@@ yacc-d-vpath.test yacc-dist-nobuild-subdir.test \ yflags.test \ yflags2.test \ -$(parallel_tests) - -EXTRA_DIST = ChangeLog-old gen-parallel-tests $(TESTS) +yflags-cmdline-override.test \ +yflags-conditional.test \ +yflags-d-false-positives.test \ +yflags-force-override.test \ +yflags-force-conditional.test \ +yflags-var-expand.test + ++checked_test_extensions = .test ++expected_list_of_tests = $(handwritten_tests) $(generated_tests) + am__tmk = tests-in-makefile-list.tmp + am__tfs = tests-on-filesystem-list.tmp + am__tdf = diff-in-tests-lists.tmp - -# Each test case depends on defs, aclocal, and automake. -check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION) all: all-am .SUFFIXES: -.SUFFIXES: .html .log .test -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am $(top_srcdir)/CheckListOfTests.am $(am__configure_deps) +.SUFFIXES: .depmod .html .instspc .log .test - $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am $(srcdir)/instspc-tests.am $(srcdir)/depmod-tests.am $(am__configure_deps) ++$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/parallel-tests.am $(srcdir)/instspc-tests.am $(srcdir)/depmod-tests.am $(top_srcdir)/CheckListOfTests.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ @@@ -1652,87 -1448,60 +1658,131 @@@ uninstall-am maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am recheck recheck-html uninstall uninstall-am +backcompat5-p.log: backcompat5.test +check-exported-srcdir-p.log: check-exported-srcdir.test +check-tests-in-builddir-p.log: check-tests-in-builddir.test +check-tests_environment-p.log: check-tests_environment.test +check-p.log: check.test +check10-p.log: check10.test +check11-p.log: check11.test +check12-p.log: check12.test +check2-p.log: check2.test +check3-p.log: check3.test +check4-p.log: check4.test +check5-p.log: check5.test +check6-p.log: check6.test +check7-p.log: check7.test +check8-p.log: check8.test +check9-p.log: check9.test +color-p.log: color.test +color2-p.log: color2.test +comment9-p.log: comment9.test +dejagnu-p.log: dejagnu.test +exeext4-p.log: exeext4.test +maken3-p.log: maken3.test +maken4-p.log: maken4.test +posixsubst-tests-p.log: posixsubst-tests.test +pr401-p.log: pr401.test +pr401b-p.log: pr401b.test +pr401c-p.log: pr401c.test $(srcdir)/parallel-tests.am: gen-parallel-tests Makefile.am - (cd $(srcdir) && $(SHELL) ./gen-parallel-tests) >$@ - -$(parallel_tests): $(parallel_tests:-p.test=.test) Makefile.am - input=`echo $@ | sed 's,.*/,,; s,-p.test$$,.test,'`; \ - sed 's|^\. \./defs.*|parallel_tests=yes; &|' \ - < $(srcdir)/$$input >$@ - chmod a+rx $@ + $(AM_V_GEN)($(am__cd) $(srcdir) && $(SHELL) ./gen-parallel-tests) >$@ + +$(parallel_tests): Makefile.am + $(AM_V_at)rm -f $@ $@-t + $(AM_V_GEN)input=`echo $@ | sed 's,.*/,,; s,-p.test$$,.test,'`; \ + { echo '#!/bin/sh'; \ + echo '# DO NOT EDIT! GENERATED AUTOMATICALLY!'; \ + echo; \ + echo '# Ensure proper definition of $$testsrcdir.'; \ + echo '. ./defs-static || exit 99'; \ + echo 'test -n "$$testsrcdir" || exit 99 # sanity check'; \ + echo; \ + echo "# Run the test with Automake's parallel-tests driver enabled."; \ + echo 'parallel_tests=yes'; \ + echo "# In the spirit of VPATH, we prefer a test in the build tree"; \ + echo "# over one in the source tree."; \ + echo "if test -f \"./$$input\"; then"; \ + echo " . \"./$$input\""; \ + echo 'else'; \ + echo " . \"\$$testsrcdir/$$input\""; \ + echo 'fi'; \ + } > $@-t + $(AM_V_at)chmod a+rx $@-t && mv -f $@-t $@ + +$(srcdir)/instspc-tests.am: instspc-tests.sh Makefile.am + $(AM_V_GEN)($(am__cd) $(srcdir) \ + && $(SHELL) ./instspc-tests.sh --generate-makefile) >$@ + +# All `*.instspc' tests work by calling the script `instspc-tests.sh'. +# Also, they all use shared data generated by the `instspc-data.test' +# helper test (for reasons of speed). +instspc-data.log: instspc-tests.sh +$(instspc_tests:.instspc=.log): instspc-tests.sh instspc-data.log +# This dummy declaration is required to have make actually produce +# expected log files from the `.instspc.log' suffix rule. +$(instspc_tests): + +$(srcdir)/depmod-tests.am: depmod-tests.sh Makefile.am + $(AM_V_GEN)($(am__cd) $(srcdir) \ + && $(SHELL) ./depmod-tests.sh --generate-makefile) >$@ + +# All `*.depmod' tests work by calling the script `depmod-tests.sh'. +# Also, they all use shared data generated by the `depmod-data.test' +# helper test (for reasons of speed). +depmod-data.log: depmod-tests.sh +$(depmod_tests:.depmod=.log): depmod-tests.sh depmod-data.log +# This dummy declaration is required to have make actually produce +# expected log files from the `.depmod.log' suffix rule. +$(depmod_tests): + .PHONY: maintainer-check-list-of-tests + maintainer-check-list-of-tests: + @if diff -u /dev/null /dev/null >/dev/null 2>&1; then \ + diff='diff -u'; \ + else \ + diff='diff'; \ + fi; \ + set X $(checked_test_extensions); shift; \ + if test $$# -eq 0; then \ + set X $(TEST_EXTENSIONS); shift; \ + fi; \ + if test $$# -eq 0; then \ + echo '$@: internal error: $$(checked_test_extensions) and' \ + '$$(TEST_EXTENSIONS) are both undefined or empty' >&2; \ + exit 255; \ + fi; \ + lst='$(expected_list_of_tests)'; \ + test -n "$$lst" || lst='$(TESTS)'; \ + for t in $$lst; do \ + echo "$$t"; \ + done | sort >$(am__tmk); \ + for ext in $$*; do \ + ls *$$ext 2>/dev/null; \ + if test $(srcdir) != $(builddir); then \ + (cd $(srcdir) && ls *$$ext 2>/dev/null); \ + fi; \ + done | sort | uniq >$(am__tfs); \ + if $$diff $(am__tmk) $(am__tfs) >$(am__tdf); then \ + result=0; \ + else \ + echo '$@: list of tests in Makefile an on filesystem differ' >&2; \ + echo "+ $$diff in-makefile on-filesystem" >&2; \ + cat $(am__tdf) >&2; \ + result=1; \ + fi; \ + rm -f $(am__tmk) $(am__tfs) $(am__tdf); \ + exit $$result; + + .PHONY: clean-maintcheck-testslist-tmp + clean-local: clean-maintcheck-testslist-tmp + clean-maintcheck-testslist-tmp: + rm -f $(am__tmk) $(am__tfs) $(am__tdf) ++maintainer-check-list-of-tests: $(expected_list_of_tests) + -maintainer-check-list-of-tests: $(parallel_tests) +# Each test case depends on defs, aclocal, and automake. +$(TEST_LOGS): defs aclocal-$(APIVERSION) automake-$(APIVERSION) clean-local: clean-local-check .PHONY: clean-local-check