1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#!/usr/local/bin/perl
# First we check if we already are within the "t" directory
if (-d "t") {
# try to move into test directory
chdir "t" or die "Can't chdir: $!";
# fix all relative library locations
foreach (@INC) {
$_ = "../$_" unless m,^(/)|([a-f]:),i;
}
}
# Pick up the library files from the ../blib directory
unshift(@INC, "../blib/lib", "../blib/arch");
#print "@INC\n";
use Test::Harness;
$Test::Harness::verbose = shift
if $ARGV[0] =~ /^\d+$/ || $ARGV[0] eq "-v";
if (@ARGV) {
for (@ARGV) {
if (-d $_) {
push(@tests, <$_/*.t>);
} else {
$_ .= ".t" unless /\.t$/;
push(@tests, $_);
}
}
} else {
#shutdown httpd before make aborts
$SIG{'__DIE__'} = sub {
return unless $_[0] =~ /^Failed/i;
my $el = "../t/logs/mod_perl_httpd.pid";
if(-e $el) {
system "kill `cat $el`";
}
else {
warn "can't stat $el $!\n";
}
warn "httpd terminated\n";
};
eval { require LWP::UserAgent; };
if ($@) {
print <<"EOM";
$@
I still can't find LWP::UserAgent, try:
$^X -MCPAN -e install LWP
or
http://www.perl.com/cgi-bin/cpan_mod?module=LWP
Must skip important tests without LWP...
EOM
sleep(2);
}
else {
push(@tests, <modules/*.t>, <internal/*.t>);
}
}
runtests @tests;
use File::Find;
my $dir = -e "t" ? ".." : ".";
find(sub {
/core/ and die "uh,oh httpd dumped core!\n";
}, $dir);
|