t/TEST shouldn't use -M options until we've tested that they work.
[p5sagit/p5-mst-13.2.git] / t / TestInit.pm
CommitLineData
4343e7c3 1# This is a replacement for the old BEGIN preamble which heads (or
db7c4376 2# should head) up every core test program to prepare it for running.
4343e7c3 3# Now instead of:
4#
5# BEGIN {
6# chdir 't' if -d 't';
7# @INC = '../lib';
8# }
9#
c1b78184 10# Its primary purpose is to clear @INC so core tests don't pick up
11# modules from an installed Perl.
12#
db7c4376 13# t/TEST will use -MTestInit. You may "use TestInit" in the test
14# programs but it is not required.
4343e7c3 15#
db7c4376 16# P.S. This documentation is not in POD format in order to avoid
17# problems when there are fundamental bugs in perl.
4343e7c3 18
18fc9488 19package TestInit;
20
5ed59b83 21$VERSION = 1.02;
2af1ab88 22
5ed59b83 23chdir 't' if -f 't/TestInit.pm';
a1910616 24
5ed59b83 25# Let tests know they're running in the perl core. Useful for modules
26# which live dual lives on CPAN.
e447daf9 27# Don't interfere with the taintedness of %ENV, this could perturbate tests.
28# This feels like a better solution than the original, from
29# http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-07/msg00154.html
30$ENV{PERL_CORE} = $^X;
5ed59b83 31if (${^TAINT}) {
32 @INC = '../lib';
33} else {
34 @INC = ('../lib', '.');
35}
a1910616 36
7a315204 37$0 =~ s/\.dp$//; # for the test.deparse make target
ec5f1610 381;
39