summaryrefslogtreecommitdiff
path: root/Makefile.SH
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-09-20 21:46:58 +0100
committerNicholas Clark <nick@ccl4.org>2009-09-20 21:46:58 +0100
commit9988b539d419b6c4e886f8919681acc06cd5d04a (patch)
tree4bab6e0f82bb63b9eade9e8a14e5bb85d3adb349 /Makefile.SH
parent199863e7695677ad5c17a1011983f3a2354d23b1 (diff)
downloadperl-9988b539d419b6c4e886f8919681acc06cd5d04a.tar.gz
Move the Makefile targets _test{,_prep,_tty,_notty} into a script runtests.
This avoids a recursive call to $(MAKE) in the top level directory, which feels over-complicated when all the targets invoked have no dependencies.
Diffstat (limited to 'Makefile.SH')
-rw-r--r--Makefile.SH68
1 files changed, 22 insertions, 46 deletions
diff --git a/Makefile.SH b/Makefile.SH
index f9f998487d..4de1ae32da 100644
--- a/Makefile.SH
+++ b/Makefile.SH
@@ -1297,8 +1297,8 @@ depend: makedepend
makedepend: makedepend.SH config.sh
sh ./makedepend.SH
-.PHONY: test check test_prep test_prep_nodll test_prep_pre _test_prep \
- test_tty test-tty _test_tty test_notty test-notty _test_notty \
+.PHONY: test check test_prep test_prep_nodll test_prep_pre \
+ test_tty test-tty test_notty test-notty \
utest ucheck test.utf8 check.utf8 test.torture torturetest \
test.utf16 check.utf16 utest.utf16 ucheck.utf16 \
test.third check.third utest.third ucheck.third test_notty.third \
@@ -1308,48 +1308,26 @@ makedepend: makedepend.SH config.sh
# Cannot delegate rebuilding of t/perl to make
# to allow interlaced test and minitest
-TESTFILE=TEST
-
-_test_prep:
- cd t && (rm -f $(PERL)$(EXE_EXT); $(LNS) ../$(PERL)$(EXE_EXT) $(PERL)$(EXE_EXT))
-
# Architecture-neutral stuff:
test_prep_pre: preplibrary utilities $(nonxs_ext)
test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL)
- PERL=./perl $(MAKE) _test_prep
-
-_test_tty:
- cd t && $(PERL_DEBUG) $(LDLIBPTH) $(PERL) $(TESTFILE) $(TEST_ARGS) $(TEST_FILES) </dev/tty
-
-_test_notty:
- cd t && $(PERL_DEBUG) PERL_SKIP_TTY_TEST=1 $(LDLIBPTH) $(PERL) $(TESTFILE) $(TEST_ARGS) $(TEST_FILES)
-
-# The second branch is for testing without a tty or controlling terminal,
-# see t/op/stat.t
-_test:
- if (true </dev/tty) >/dev/null 2>&1; then \
- $(MAKE) TEST_ARGS='$(TEST_ARGS)' TESTFILE=$(TESTFILE) _test_tty ; \
- else \
- $(MAKE) TEST_ARGS='$(TEST_ARGS)' TESTFILE=$(TESTFILE) _test_notty ; \
- fi
- @echo "Ran tests" > t/rantests
test check: test_prep
- PERL=./perl $(MAKE) _test
+ PERL=./perl ./runtests choose
test_tty: test_prep
- PERL=./perl $(MAKE) _test_tty
+ PERL=./perl ./runtests tty
test_notty: test_prep
- PERL=./perl $(MAKE) _test_notty
+ PERL=./perl ./runtests no-tty
utest ucheck test.utf8 check.utf8: test_prep
- PERL=./perl TEST_ARGS=-utf8 $(MAKE) _test
+ PERL=./perl TEST_ARGS=-utf8 ./runtests choose
coretest: test_prep
- PERL=./perl TEST_ARGS=-core $(MAKE) _test
+ PERL=./perl TEST_ARGS=-core ./runtests choose
test-prep: test_prep
@@ -1360,7 +1338,7 @@ test-notty: test_notty
# Torture testing
test.torture torturetest: test_prep
- PERL=./perl TEST_ARGS=-torture $(MAKE) _test
+ PERL=./perl TEST_ARGS=-torture ./runtests choose
# Targets for UTF16 testing:
@@ -1369,51 +1347,49 @@ minitest.utf16: minitest.prep
&& $(LDLIBPTH) $(RUN) ./perl TEST -minitest -utf16 base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty
test.utf16 check.utf16: test_prep
- PERL=./perl $(MAKE) TEST_ARGS=-utf16 _test
+ PERL=./perl TEST_ARGS=-utf16 ./runtests choose
utest.utf16 ucheck.utf16: test_prep
- PERL=./perl $(MAKE) TEST_ARGS="-utf8 -utf16" _test
+ PERL=./perl TEST_ARGS="-utf8 -utf16" ./runtests choose
# Targets for valgrind testing:
test_prep.valgrind: test_prep perl.valgrind
- PERL=./perl $(MAKE) _test_prep
test.valgrind check.valgrind: test_prep perl.valgrind.config
- PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 VALGRIND='$(VALGRIND)' $(MAKE) _test
+ PERL=./perl PERL_VALGRIND=1 VALGRIND='$(VALGRIND)' ./runtests choose
utest.valgrind ucheck.valgrind: test_prep.valgrind perl.valgrind.config
- PERL=./perl PERL_DEBUG=PERL_VALGRIND=1 TEST_ARGS=-utf8 $(MAKE) _test
+ PERL=./perl PERL_VALGRIND=1 TEST_ARGS=-utf8 ./runtests choose
test_notty.valgrind: test_prep.valgrind perl.valgrind.config
- PERL=./perl $(MAKE) PERL_DEBUG=PERL_VALGRIND=1 _test_notty
+ PERL=./perl PERL_VALGRIND=1 ./runtests no-tty
# Targets for Third Degree testing.
test_prep.third: test_prep perl.third
- PERL=./perl.third $(MAKE) _test_prep
test.third check.third: test_prep.third perl.third
- PERL=./perl.third PERL_DEBUG=PERL_3LOG=1 $(MAKE) _test
+ PERL=./perl.third PERL_3LOG=1 ./runtests choose
utest.third ucheck.third: test_prep.third perl.third
- PERL=./perl.third PERL_DEBUG=PERL_3LOG=1 TEST_ARGS=-utf8 $(MAKE) _test
+ PERL=./perl.third PERL_3LOG=1 TEST_ARGS=-utf8 ./runtests choose
test_notty.third: test_prep.third perl.third
- PERL=./perl.third $(MAKE) PERL_DEBUG=PERL_3LOG=1 _test_notty
+ PERL=./perl.third PERL_3LOG=1 ./runtests choose
# Targets for Deparse testing.
test.deparse: test_prep
- PERL=./perl TEST_ARGS=-deparse $(MAKE) _test
+ PERL=./perl TEST_ARGS=-deparse ./runtests choose
test_notty.deparse: test_prep
- PERL=./perl TEST_ARGS=-deparse $(MAKE) _test_notty
+ PERL=./perl TEST_ARGS=-deparse ./runtests no-tty
# Targets to run the test suite with -t
test.taintwarn: test_prep
- PERL=./perl TEST_ARGS=-taintwarn $(MAKE) _test
+ PERL=./perl TEST_ARGS=-taintwarn ./runtests choose
minitest.prep:
-@test test -f lib/Config.pm || $(MAKE) lib/Config.pm $(unidatafiles)
@@ -1431,13 +1407,13 @@ minitest: $(MINIPERL_EXE) lib/re.pm minitest.prep
# Test via harness
test_harness: test_prep
- PERL=./perl $(MAKE) TESTFILE=harness _test
+ PERL=./perl TESTFILE=harness ./runtests choose
test_harness_notty: test_prep
- PERL=./perl HARNESS_NOTTY=1 $(MAKE) TESTFILE=harness _test
+ PERL=./perl HARNESS_NOTTY=1 TESTFILE=harness ./runtests choose
test-reonly: test_prep
- PERL=./perl TEST_ARGS='-re \\bre\\/' $(MAKE) TESTFILE=harness _test
+ PERL=./perl TEST_ARGS='-re \bre\/' TESTFILE=harness ./runtests choose
# Handy way to run perlbug -ok without having to install and run the
# installed perlbug. We don't re-run the tests here - we trust the user.