diff options
author | Nicholas Clark <nick@ccl4.org> | 2009-09-22 10:32:57 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2009-09-22 10:36:38 +0100 |
commit | e75f8ea9991e059e875b1407c34a259205f0a505 (patch) | |
tree | 89ad878b10a24db5807f2682717ba1e699082be8 | |
parent | ce32bd79dfcbeb40131d6895c3ca24fb37083ac6 (diff) | |
download | perl-e75f8ea9991e059e875b1407c34a259205f0a505.tar.gz |
Move t/perl symlink creation back to the test_prep target of the Makefile
But not in the way it was done before with a recursive call to $(MAKE) -
instead create it directly in the current make invocation as an action for
test_prep, and create the link for perl.third directly as an action for
test_prep.third
Also, make it optional to pass the perl to run into runtests, by providing a
default of ./perl$(EXE_EXT)
This feels simpler and still Don't Repeat Yourself.
-rw-r--r-- | Makefile.SH | 36 | ||||
-rw-r--r-- | runtests.SH | 12 |
2 files changed, 24 insertions, 24 deletions
diff --git a/Makefile.SH b/Makefile.SH index 4de1ae32da..cb19b13bce 100644 --- a/Makefile.SH +++ b/Makefile.SH @@ -1313,21 +1313,22 @@ makedepend: makedepend.SH config.sh test_prep_pre: preplibrary utilities $(nonxs_ext) test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL) + cd t && (rm -f perl$(EXE_EXT); $(LNS) ../perl$(EXE_EXT) perl$(EXE_EXT)) test check: test_prep - PERL=./perl ./runtests choose + ./runtests choose test_tty: test_prep - PERL=./perl ./runtests tty + ./runtests tty test_notty: test_prep - PERL=./perl ./runtests no-tty + ./runtests no-tty utest ucheck test.utf8 check.utf8: test_prep - PERL=./perl TEST_ARGS=-utf8 ./runtests choose + TEST_ARGS=-utf8 ./runtests choose coretest: test_prep - PERL=./perl TEST_ARGS=-core ./runtests choose + TEST_ARGS=-core ./runtests choose test-prep: test_prep @@ -1338,7 +1339,7 @@ test-notty: test_notty # Torture testing test.torture torturetest: test_prep - PERL=./perl TEST_ARGS=-torture ./runtests choose + TEST_ARGS=-torture ./runtests choose # Targets for UTF16 testing: @@ -1347,27 +1348,28 @@ 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 TEST_ARGS=-utf16 ./runtests choose + TEST_ARGS=-utf16 ./runtests choose utest.utf16 ucheck.utf16: test_prep - PERL=./perl TEST_ARGS="-utf8 -utf16" ./runtests choose + TEST_ARGS="-utf8 -utf16" ./runtests choose # Targets for valgrind testing: test_prep.valgrind: test_prep perl.valgrind test.valgrind check.valgrind: test_prep perl.valgrind.config - PERL=./perl PERL_VALGRIND=1 VALGRIND='$(VALGRIND)' ./runtests choose + PERL_VALGRIND=1 VALGRIND='$(VALGRIND)' ./runtests choose utest.valgrind ucheck.valgrind: test_prep.valgrind perl.valgrind.config - PERL=./perl PERL_VALGRIND=1 TEST_ARGS=-utf8 ./runtests choose + PERL_VALGRIND=1 TEST_ARGS=-utf8 ./runtests choose test_notty.valgrind: test_prep.valgrind perl.valgrind.config - PERL=./perl PERL_VALGRIND=1 ./runtests no-tty + PERL_VALGRIND=1 ./runtests no-tty # Targets for Third Degree testing. test_prep.third: test_prep perl.third + cd t && (rm -f ./perl.third$(EXE_EXT); $(LNS) ../perl.third$(EXE_EXT) perl.third(EXE_EXT)) test.third check.third: test_prep.third perl.third PERL=./perl.third PERL_3LOG=1 ./runtests choose @@ -1381,15 +1383,15 @@ test_notty.third: test_prep.third perl.third # Targets for Deparse testing. test.deparse: test_prep - PERL=./perl TEST_ARGS=-deparse ./runtests choose + TEST_ARGS=-deparse ./runtests choose test_notty.deparse: test_prep - PERL=./perl TEST_ARGS=-deparse ./runtests no-tty + TEST_ARGS=-deparse ./runtests no-tty # Targets to run the test suite with -t test.taintwarn: test_prep - PERL=./perl TEST_ARGS=-taintwarn ./runtests choose + TEST_ARGS=-taintwarn ./runtests choose minitest.prep: -@test test -f lib/Config.pm || $(MAKE) lib/Config.pm $(unidatafiles) @@ -1407,13 +1409,13 @@ minitest: $(MINIPERL_EXE) lib/re.pm minitest.prep # Test via harness test_harness: test_prep - PERL=./perl TESTFILE=harness ./runtests choose + TESTFILE=harness ./runtests choose test_harness_notty: test_prep - PERL=./perl HARNESS_NOTTY=1 TESTFILE=harness ./runtests choose + HARNESS_NOTTY=1 TESTFILE=harness ./runtests choose test-reonly: test_prep - PERL=./perl TEST_ARGS='-re \bre\/' TESTFILE=harness ./runtests choose + 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. diff --git a/runtests.SH b/runtests.SH index 1219bc04f5..7e417a37d9 100644 --- a/runtests.SH +++ b/runtests.SH @@ -28,11 +28,6 @@ case \$# in ;; esac -if test X"\$PERL" = X; then - echo "please supply PERL in the environment" - exit 1 -fi - case \$1 in tty) tty=Y @@ -57,9 +52,12 @@ if test X"\$TESTFILE" = X; then TESTFILE=TEST fi +if test X"\$PERL" = X; then + PERL=./perl$_exe + export PERL +fi + cd t -rm -f \$PERL -$lns ../\$PERL \$PERL # The second branch is for testing without a tty or controlling terminal, # see t/op/stat.t |