summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Lattarini <stefano.lattarini@gmail.com>2012-01-18 12:17:11 +0100
committerStefano Lattarini <stefano.lattarini@gmail.com>2012-01-18 13:31:55 +0100
commitfbeda3da9d12736b3dcc6d1e11e9f2f09cf4ce96 (patch)
tree948997a0e5488f32f6cfb1aa7bc7244d670488e9
parent2a9862a89875f9060f95547b6fd4274c86738617 (diff)
downloadautomake-fbeda3da9d12736b3dcc6d1e11e9f2f09cf4ce96.tar.gz
tests: move all under the same hierarchy ('tests/' directory)
This simplifies the organization of the Automake source tree and reduces the (lamentably high) number of Makefiles in the Automake build system by one. It also makes the maintainer check that verifies the consistency of list of tests more self-contained and simpler. Finally, it might be a first step forward the transition to a non-recursive build system for automake (if we ever decide to go down that road fully some day). * lib/Automake/tests: All the '*.pl' tests in here moved ... * tests/pm: ... into this new directory. * lib/Automake/tests/Makefile.am: Remove, its meaningful contents moved ... * tests/Makefile.am: ... here, with obvious adjustments. (test_subdirs): New variable, for the sake of the recipe of 'maintainer-check-list-of-tests'. * CheckListOfTests (maintainer-check-list-of-tests): Enhance its recipe to make it able to deal with test script residing in subdirectories. * Makefile.am (maintainer-check-list-of-tests): Simplified. (TEST_SUBDIRS): Remove, no more needed. * tests/list-of-tests.mk (perl_TESTS): New variable, lists the '.pl' tests just moved into 'tests/pm'. (handwritten_TESTS): Add the contents of '$(perl_TESTS)'. * lib/Automake/Makefile.am (SUBDIRS): Remove. * configure.ac (AC_CONFIG_FILES): Update. * .gitignore: Adjust.
-rw-r--r--.gitignore4
-rw-r--r--CheckListOfTests.am15
-rw-r--r--Makefile.am15
-rw-r--r--configure.ac1
-rw-r--r--lib/Automake/Makefile.am7
-rw-r--r--lib/Automake/tests/Makefile.am33
-rw-r--r--tests/Makefile.am6
-rw-r--r--tests/list-of-tests.mk9
-rw-r--r--tests/pm/Condition-t.pl (renamed from lib/Automake/tests/Condition-t.pl)0
-rw-r--r--tests/pm/Condition.pl (renamed from lib/Automake/tests/Condition.pl)0
-rw-r--r--tests/pm/DisjConditions-t.pl (renamed from lib/Automake/tests/DisjConditions-t.pl)0
-rw-r--r--tests/pm/DisjConditions.pl (renamed from lib/Automake/tests/DisjConditions.pl)0
-rw-r--r--tests/pm/Version.pl (renamed from lib/Automake/tests/Version.pl)0
-rw-r--r--tests/pm/Wrap.pl (renamed from lib/Automake/tests/Wrap.pl)0
14 files changed, 30 insertions, 60 deletions
diff --git a/.gitignore b/.gitignore
index 33e3827fc..f21915354 100644
--- a/.gitignore
+++ b/.gitignore
@@ -47,10 +47,10 @@ Makefile
/doc/amhello/install-sh
/doc/amhello/missing
/lib/Automake/Config.pm
-/lib/Automake/tests/*.log
-/lib/Automake/tests/*.log-t
/tests/*.log
/tests/*.log-t
+/tests/pm/*.log
+/tests/pm/*.log-t
/tests/*.dir
/tests/*-p.test
/tests/aclocal-1.*
diff --git a/CheckListOfTests.am b/CheckListOfTests.am
index 0a484470e..c71c7fc0d 100644
--- a/CheckListOfTests.am
+++ b/CheckListOfTests.am
@@ -37,13 +37,18 @@ maintainer-check-list-of-tests:
for t in $$lst; do \
echo "$$t"; \
done | sort >$(am__tmk); \
+## List of subdirs where to look for tests.
+ dirs='$(test_subdirs)'; \
+ test -n "$$dirs" || dirs=.; \
## List of tests on filesystem. Be careful to cater for VPATH builds too.
for ext in $(TEST_EXTENSIONS); do \
- ls *$$ext 2>/dev/null; \
- if test $(srcdir) != $(builddir); then \
- (cd $(srcdir) && ls *$$ext 2>/dev/null); \
- fi; \
- done | sort | uniq >$(am__tfs); \
+ for dir in $$dirs; do \
+ ls $$dir/*$$ext 2>/dev/null; \
+ if test $(srcdir) != $(builddir); then \
+ (cd $(srcdir) && ls $$dir/*$$ext 2>/dev/null); \
+ fi; \
+ done; \
+ done | sed 's,^\./,,' | sort | uniq >$(am__tfs); \
## Compare the two lists, complain if they differ.
if $$diff $(am__tmk) $(am__tfs) >$(am__tdf); then \
result=0; \
diff --git a/Makefile.am b/Makefile.am
index 7ad3b921f..b9166dbaa 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -25,8 +25,6 @@
## run aclocal and automake.
SUBDIRS = lib . contrib doc m4 tests
-TEST_SUBDIRS = tests lib/Automake/tests
-
bin_SCRIPTS = automake aclocal
CLEANFILES = $(bin_SCRIPTS)
@@ -203,18 +201,7 @@ maintainer-check: $(syntax_check_rules)
## list of all test scripts in the Automake testsuite.
.PHONY: maintainer-check-list-of-tests
maintainer-check-list-of-tests:
- @fail= 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 \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@) || eval $$failcom; \
- done; \
- test -z "$$fail"
-
+ $(am__cd) tests && $(MAKE) $(AM_MAKEFLAGS) $@
maintainer-check: maintainer-check-list-of-tests
## Look for test whose names can cause spurious failures when used as
diff --git a/configure.ac b/configure.ac
index bcd28fda6..18dbd8aa2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -209,7 +209,6 @@ AC_CONFIG_FILES([
contrib/Makefile
doc/Makefile
lib/Automake/Makefile
- lib/Automake/tests/Makefile
lib/Makefile
lib/am/Makefile
m4/Makefile
diff --git a/lib/Automake/Makefile.am b/lib/Automake/Makefile.am
index cfc7272b8..980502462 100644
--- a/lib/Automake/Makefile.am
+++ b/lib/Automake/Makefile.am
@@ -1,7 +1,7 @@
## Process this file with automake to create Makefile.in
-# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
+# Copyright (C) 2001, 2002, 2003, 2004, 2008, 2009, 2010, 2012 Free
+# Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -16,9 +16,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-# `make clean check' should build Config.pm first.
-SUBDIRS = . tests
-
perllibdir = $(pkgvdatadir)/Automake
dist_perllib_DATA = \
ChannelDefs.pm \
diff --git a/lib/Automake/tests/Makefile.am b/lib/Automake/tests/Makefile.am
deleted file mode 100644
index a537fd1d7..000000000
--- a/lib/Automake/tests/Makefile.am
+++ /dev/null
@@ -1,33 +0,0 @@
-## Process this file with automake to create Makefile.in
-
-# Copyright (C) 2002, 2003, 2008, 2009, 2012 Free Software Foundation,
-# Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-PL_LOG_COMPILER = $(PERL)
-AM_PL_LOG_FLAGS = -Mstrict -I ../.. -I $(top_srcdir)/lib -w
-TEST_EXTENSIONS = .pl
-
-TESTS = \
-Condition.pl \
-Condition-t.pl \
-DisjConditions.pl \
-DisjConditions-t.pl \
-Version.pl \
-Wrap.pl
-
-EXTRA_DIST = $(TESTS)
-
-include $(top_srcdir)/CheckListOfTests.am
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c2daff4fb..4939aab97 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -52,6 +52,11 @@ TESTS_ENVIRONMENT = \
test x"$$required" = x || unset required; \
test x"$$parallel_tests" = x || unset parallel_tests;
+TEST_EXTENSIONS = .pl .test
+
+PL_LOG_COMPILER = $(PERL)
+AM_PL_LOG_FLAGS = -Mstrict -I $(top_builddir)/lib -I $(top_srcdir)/lib -w
+
include $(srcdir)/list-of-tests.mk
TESTS = $(handwritten_TESTS) $(parallel_tests)
@@ -128,6 +133,7 @@ EXTRA_DIST += distcheck-hook-m4.am
check_SCRIPTS = defs aclocal-$(APIVERSION) automake-$(APIVERSION)
## Checking the list of tests.
+test_subdirs = . pm
include $(top_srcdir)/CheckListOfTests.am
maintainer-check-list-of-tests: $(parallel_tests)
diff --git a/tests/list-of-tests.mk b/tests/list-of-tests.mk
index 6e4412f5d..7585e2bc0 100644
--- a/tests/list-of-tests.mk
+++ b/tests/list-of-tests.mk
@@ -17,12 +17,21 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
+perl_TESTS = \
+pm/Condition.pl \
+pm/Condition-t.pl \
+pm/DisjConditions.pl \
+pm/DisjConditions-t.pl \
+pm/Version.pl \
+pm/Wrap.pl
+
# The order here is mostly alphabetical, with the deliberate exception
# that tests having a high runtime (especially TAP tests that run various
# checks sequentially) are listed early; this improves performance on
# concurrent testsuite runs.
handwritten_TESTS = \
get-sysconf.test \
+$(perl_TESTS) \
self-check-env-sanitize.test \
self-check-report.test \
aclibobj.test \
diff --git a/lib/Automake/tests/Condition-t.pl b/tests/pm/Condition-t.pl
index 06eb34e92..06eb34e92 100644
--- a/lib/Automake/tests/Condition-t.pl
+++ b/tests/pm/Condition-t.pl
diff --git a/lib/Automake/tests/Condition.pl b/tests/pm/Condition.pl
index 86f174564..86f174564 100644
--- a/lib/Automake/tests/Condition.pl
+++ b/tests/pm/Condition.pl
diff --git a/lib/Automake/tests/DisjConditions-t.pl b/tests/pm/DisjConditions-t.pl
index 2fe275beb..2fe275beb 100644
--- a/lib/Automake/tests/DisjConditions-t.pl
+++ b/tests/pm/DisjConditions-t.pl
diff --git a/lib/Automake/tests/DisjConditions.pl b/tests/pm/DisjConditions.pl
index 47dea8399..47dea8399 100644
--- a/lib/Automake/tests/DisjConditions.pl
+++ b/tests/pm/DisjConditions.pl
diff --git a/lib/Automake/tests/Version.pl b/tests/pm/Version.pl
index e49643519..e49643519 100644
--- a/lib/Automake/tests/Version.pl
+++ b/tests/pm/Version.pl
diff --git a/lib/Automake/tests/Wrap.pl b/tests/pm/Wrap.pl
index 8d840fc30..8d840fc30 100644
--- a/lib/Automake/tests/Wrap.pl
+++ b/tests/pm/Wrap.pl