summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2009-09-22 10:32:57 +0100
committerNicholas Clark <nick@ccl4.org>2009-09-22 10:36:38 +0100
commite75f8ea9991e059e875b1407c34a259205f0a505 (patch)
tree89ad878b10a24db5807f2682717ba1e699082be8
parentce32bd79dfcbeb40131d6895c3ca24fb37083ac6 (diff)
downloadperl-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.SH36
-rw-r--r--runtests.SH12
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