]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: reenable "make -C tests ..." commands
authorJim Meyering <meyering@redhat.com>
Fri, 14 Sep 2012 07:25:33 +0000 (09:25 +0200)
committerJim Meyering <meyering@redhat.com>
Fri, 14 Sep 2012 08:20:03 +0000 (10:20 +0200)
The README-documented way to run individual tests was invalidated
by the conversion of tests/ to non-recursive make.  Add a GNUmakefile
shim to reenable that usage.
* tests/GNUmakefile: New file, so that "make -C tests ..." works
like it did before the conversion of tests/ to non-recursive build.
Reported by Bernhard Voelker.
* Makefile.am (EXTRA_DIST): Add it.
* cfg.mk (sc_prohibit_tab_based_indentation): Also exempt any
GNUmakefile from this syntax-check.

Makefile.am
cfg.mk
tests/GNUmakefile [new file with mode: 0644]

index dfbb59195c49dc227e9d65c0251fd52b9d9cf64a..0232090b888a8ee5d44bb271b088b231f7419679 100644 (file)
@@ -53,6 +53,7 @@ EXTRA_DIST =                          \
   cfg.mk                               \
   dist-check.mk                                \
   maint.mk                             \
+  tests/GNUmakefile                    \
   thanks-gen
 
 gen_progs_lists = $(top_srcdir)/build-aux/gen-lists-of-programs.sh
diff --git a/cfg.mk b/cfg.mk
index 0deb3cb7724cf31fd6b832c9fb626da41de2d8e2..37fa22e4f9a2aac81cb0d6e0f54840b14b690d9d 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -539,10 +539,11 @@ exclude_file_name_regexp--sc_prohibit_fail_0 = \
   (^.*/git-hooks/commit-msg|^tests/init\.sh|Makefile\.am|\.mk|.*\.texi)$$
 exclude_file_name_regexp--sc_prohibit_atoi_atof = ^lib/euidaccess-stat\.c$$
 
-tbi_1 = ^tests/pr/|(^gl/lib/reg.*\.c\.diff|Makefile(\.am)?|\.mk|^man/help2man)$$
+tbi_1 = ^tests/pr/|(^gl/lib/reg.*\.c\.diff|\.mk|^man/help2man)$$
 tbi_2 = ^scripts/git-hooks/(pre-commit|pre-applypatch|applypatch-msg)$$
+tbi_3 = (GNU)?[Mm]akefile(\.am)?$$
 exclude_file_name_regexp--sc_prohibit_tab_based_indentation = \
-  $(tbi_1)|$(tbi_2)
+  $(tbi_1)|$(tbi_2)|$(tbi_3)
 
 exclude_file_name_regexp--sc_preprocessor_indentation = \
   ^(gl/lib/rand-isaac\.[ch]|gl/tests/test-rand-isaac\.c)$$
diff --git a/tests/GNUmakefile b/tests/GNUmakefile
new file mode 100644 (file)
index 0000000..3c178a2
--- /dev/null
@@ -0,0 +1,20 @@
+# Provide a compatibility layer so that the commands used before the
+# conversion of tests/ to non-recursive make still work.  To do that, we
+# must rerun the "make check" from the parent, and with tests/ prefixed
+# onto any TESTS values.  The SUBDIRS=. is to prevent the top-level check
+# rules from descending into e.g., gnulib-test/.
+
+.PHONY: all
+all:
+       @echo 'tests/GNUmakefile: did you mean to make "check"?' 1>&2
+       @exit 1
+
+ifeq ($(TESTS),)
+tests =
+else
+tests = TESTS=$(addprefix tests/,$(TESTS))
+endif
+
+.PHONY: check
+check:
+       cd .. && $(MAKE) $@ $(tests) SUBDIRS=.