From b92d7e795871f8d22a13107b92427ae02bf32146 Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Sun, 22 Aug 2010 06:32:39 +0200 Subject: [PATCH] check-interactive and check-noninteractive for both testsuites. * Makefile.am (COMMON_TESTS, TESTS): Split into ... (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new variables. (check-interactive-new): Rename from check-interactive. (check-noninteractive-new): Rename from check-noninteractive. (check-interactive-old, check-noninteractive-old): New targets. (check-interactive, check-noninteractive): Depend on the respective targets for the old and the new test suites. * doc/libtool.texi (Test descriptions): Simplify description about check-interactive and check-noninteractive. Add index entries. * NEWS: Update. Signed-off-by: Ralf Wildenhues --- ChangeLog | 13 +++++++++++++ Makefile.am | 31 +++++++++++++++++++++++-------- NEWS | 5 +++++ doc/libtool.texi | 28 +++++++--------------------- 4 files changed, 48 insertions(+), 29 deletions(-) diff --git a/ChangeLog b/ChangeLog index e31a9d17..75b22984 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,18 @@ 2010-08-22 Ralf Wildenhues + check-interactive and check-noninteractive for both testsuites. + * Makefile.am (COMMON_TESTS, TESTS): Split into ... + (NONINTERACTIVE_TESTS, INTERACTIVE_TESTS): ... these new + variables. + (check-interactive-new): Rename from check-interactive. + (check-noninteractive-new): Rename from check-noninteractive. + (check-interactive-old, check-noninteractive-old): New targets. + (check-interactive, check-noninteractive): Depend on the + respective targets for the old and the new test suites. + * doc/libtool.texi (Test descriptions): Simplify description + about check-interactive and check-noninteractive. Add index + entries. + Adjust docs for renaming and for parallel-tests. * README: Update example TESTS setting. * README.alpha: Likewise. diff --git a/Makefile.am b/Makefile.am index c5074978..3df40fdb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -575,8 +575,13 @@ installcheck-local: $(testsuite_deps) $(TESTS_ENVIRONMENT) $(INSTALLCHECK_ENVIRONMENT) $(TESTSUITEFLAGS) \ AUTOTEST_PATH="$(exec_prefix)/bin" +check-noninteractive-old: + $(MAKE) $(AM_MAKEFLAGS) check-TESTS TESTS='$(NONINTERACTIVE_TESTS)' +check-interactive-old: + $(MAKE) $(AM_MAKEFLAGS) check-TESTS TESTS='$(INTERACTIVE_TESTS)' + # Run only noninteractive parts of the new testsuite. -check-noninteractive: $(testsuite_deps_uninstalled) +check-noninteractive-new: $(testsuite_deps_uninstalled) $(CD_TESTDIR); \ CONFIG_SHELL="$(SHELL)" $(SHELL) $$abs_srcdir/$(TESTSUITE) \ $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ @@ -584,13 +589,16 @@ check-noninteractive: $(testsuite_deps_uninstalled) $(TESTSUITEFLAGS) # Run only interactive parts of the new testsuite. -check-interactive: $(testsuite_deps_uninstalled) +check-interactive-new: $(testsuite_deps_uninstalled) $(CD_TESTDIR); \ CONFIG_SHELL="$(SHELL)" $(SHELL) $$abs_srcdir/$(TESTSUITE) \ $(TESTS_ENVIRONMENT) $(BUILDCHECK_ENVIRONMENT) \ -k interactive -k recursive INNER_TESTSUITEFLAGS=",interactive" \ $(TESTSUITEFLAGS) +check-interactive: check-interactive-old check-interactive-new +check-noninteractive: check-noninteractive-old check-noninteractive-new + # We need to remove any file droppings left behind by testsuite clean-local: clean-local-legacy -$(CD_TESTDIR); \ @@ -753,7 +761,11 @@ COMMON_TESTS = \ tests/mdemo-shared-unst.test \ tests/cdemo-undef.test \ tests/cdemo-undef-make.test \ - tests/cdemo-undef-exec.test \ + tests/cdemo-undef-exec.test + +# Actually, only demo-relink and depdemo-relink require interaction, +# but they depend on the other tests being run beforehand. +INTERACTIVE_TESTS = \ tests/demo-shared.test \ tests/demo-shared-make.test \ tests/demo-shared-exec.test \ @@ -859,19 +871,22 @@ tests/pdemo-exec.log: tests/pdemo-make.log tests/pdemo-make.log: tests/pdemo-conf.log -TESTS = $(COMMON_TESTS) +NONINTERACTIVE_TESTS = $(COMMON_TESTS) if HAVE_CXX -TESTS += $(CXX_TESTS) +NONINTERACTIVE_TESTS += $(CXX_TESTS) endif if HAVE_F77 -TESTS += $(F77_TESTS) +# f77demo-static-exec.test might be interactive on MSYS. +INTERACTIVE_TESTS += $(F77_TESTS) endif if HAVE_FC -TESTS += $(FC_TESTS) +NONINTERACTIVE_TESTS += $(FC_TESTS) endif +TESTS = $(NONINTERACTIVE_TESTS) $(INTERACTIVE_TESTS) EXTRA_DIST += $(srcdir)/tests/defs.in tests/defs.m4sh \ - $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS) + $(COMMON_TESTS) $(CXX_TESTS) $(F77_TESTS) $(FC_TESTS) \ + $(INTERACTIVE_TESTS) DIST_SUBDIRS += $(CONF_SUBDIRS) # The defs script shouldn't be recreated whenever the Makefile is diff --git a/NEWS b/NEWS index 9beb0f77..2357a8ea 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,11 @@ New in 2.2.12 2010-08-??: git version 2.2.11a, Libtool team: tool used to embed the manifest resource through the environment variable MANIFEST_TOOL. +* Bug fixes: + + - The `check-interactive' and `check-noninteractive' convenience make + targets now also work for the old testsuite. + New in 2.2.10 2010-06-10: git version 2.2.9a, Libtool team: * New features: diff --git a/doc/libtool.texi b/doc/libtool.texi index 26f9d9e8..f042a78a 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -5480,27 +5480,13 @@ recursive test groups themselves should never require user interaction, while the test groups they invoke may do so. @end table -For example, in order to avoid any interactive test groups, you could -use this: - -@smallexample -make check-local \ - TESTSUITEFLAGS='-k !interactive INNER_TESTSUITEFLAGS=",!interactive"' -@end smallexample - -@noindent -while to run only those test groups, you would use this: - -@smallexample -make check-local \ - TESTSUITEFLAGS='-k interactive -k recursive INNER_TESTSUITEFLAGS=,interactive' -@end smallexample - -@noindent -but the convenience targets @samp{check-interactive} and -@samp{check-noninteractive} avoid needing to remember these complex -commands, in addition to also disabling interactive tests in the old -test suite. +@cindex @samp{check-interactive} +@cindex @samp{check-noninteractive} +There is a convenience target @samp{check-noninteractive} that runs +all tests from both test suites that do not cause user interaction on +Windows. Conversely, the target @samp{check-interactive} runs the +complement of tests and might require closing popup windows about DLL +load errors on Windows. @node When tests fail