This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Don't use t/TEST to test a "read only file", repeatedly chmod-ing it a-w.
[perl5.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
MS
3# Now instead of:
4#
5# BEGIN {
6# chdir 't' if -d 't';
7# @INC = '../lib';
8# }
9#
c1b78184
MS
10# Its primary purpose is to clear @INC so core tests don't pick up
11# modules from an installed Perl.
12#
db7c4376
PG
13# t/TEST will use -MTestInit. You may "use TestInit" in the test
14# programs but it is not required.
4343e7c3 15#
db7c4376
PG
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
DM
19package TestInit;
20
5ed59b83 21$VERSION = 1.02;
2af1ab88 22
5ed59b83 23chdir 't' if -f 't/TestInit.pm';
a1910616 24
5ed59b83
NC
25# Let tests know they're running in the perl core. Useful for modules
26# which live dual lives on CPAN.
e447daf9
NC
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
NC
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
RH
381;
39