3 # We suppose that perl _mostly_ works at this moment, so may use
4 # sophisticated testing.
8 unshift @INC, '../lib';
9 $ENV{PERL5LIB} = '../lib'; # so children will see it too
15 $Test::Harness::switches = ""; # Too much noise otherwise
16 $Test::Harness::verbose = shift if @ARGV && $ARGV[0] eq '-v';
35 foreach (keys %datahandle) {
42 @tests = <base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.t lib/*.t pod/*.t> unless @tests;
44 my $updir = File::Spec->updir;
45 my $mani = File::Spec->catdir(File::Spec->updir, "MANIFEST");
46 if (open(MANI, $mani)) {
48 if (m!^((?:ext|lib)/.+/t/[^/]+\.t)\s!) {
49 push @tests, File::Spec->catdir($updir, $1);
53 warn "$0: cannot open $mani: $!\n";
57 Test::Harness::runtests @tests;
58 exit(0) unless -e "../testcompile";
67 my $dhwrapper = <<'EOT';
68 open DATA,"<".__FILE__;
69 until (($_=<DATA>) =~ /^__END__/) {};
72 @tests = grep (!$infinite{$_}, @tests);
75 if ($datahandle{$_} && !( -f "$new.t") ) {
78 open(F,"<$_") or die "Can't open $_: $!";
79 open(T,">$new") or die "Can't open $new: $!";
80 print T $dhwrapper, <F>;
87 print "The tests ", join(' ', keys(%infinite)),
88 " generate infinite loops! Skipping!\n";
90 $ENV{'HARNESS_COMPILE_TEST'} = 1;
91 $ENV{'PERLCC_TIMEOUT'} = 120 unless $ENV{'PERLCC_TIMEOUT'};
93 Test::Harness::runtests @tests;
94 foreach (keys %datahandle) {