From 0b4abe7b42a8236f9d75c4e6f9ddb30111b63990 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Fri, 14 Sep 2012 09:25:33 +0200 Subject: tests: reenable "make -C tests ..." commands 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 | 1 + cfg.mk | 5 +++-- tests/GNUmakefile | 20 ++++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 tests/GNUmakefile diff --git a/Makefile.am b/Makefile.am index dfbb59195..0232090b8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 0deb3cb77..37fa22e4f 100644 --- 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 index 000000000..3c178a2c8 --- /dev/null +++ b/tests/GNUmakefile @@ -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=. -- cgit v1.2.3-54-g00ecf