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
|
use strict;
use warnings FATAL => 'all';
use FindBin;
# test against the source lib for easier dev
use lib "$FindBin::Bin/../lib";
use lib grep { -d } map "$FindBin::Bin/../../$_", qw(lib Apache-Test/lib);
# pick the common test libs
use lib "$FindBin::Bin/../../t/lib";
MyTest->new->run(@ARGV);
# sub-class Apache::TestRunPerl
package MyTest;
use base qw(Apache::TestRunPerl);
# redirect tests require 2 servers
use constant MIN_CLIENTS => 2;
use File::Spec::Functions qw(catdir);
use File::Basename qw(dirname);
use Apache2::Build;
# default timeout in secs (threaded mpms are extremely slow to
# startup, due to a slow perl_clone operation)
use constant DEFAULT_STARTUP_TIMEOUT =>
Apache2::Build->build_config->mpm_is_threaded() ? 180 : 90;
# subclass new_test_config to add some config vars which will be
# replaced in generated httpd.conf
sub new_test_config {
my $self = shift;
require Apache::Test;
my $mp2_root_dir = dirname Apache::Test::vars('top_dir');
$self->{conf_opts}->{src_dir} = catdir $mp2_root_dir,
qw(src modules perl);
$self->{conf_opts}->{startup_timeout} ||=
$ENV{APACHE_TEST_STARTUP_TIMEOUT} ||
DEFAULT_STARTUP_TIMEOUT;
$self->{conf_opts}->{minclients} ||= MIN_CLIENTS;
return $self->SUPER::new_test_config;
}
sub bug_report {
require ModPerl::TestRun;
shift->ModPerl::TestRun::bug_report();
}
|