16
16
use base qw(Apache::TestRunPerl);
18
18
# redirect tests require 2 servers
19
use constant MIN_MAXCLIENTS => 2;
22
use File::Spec::Functions qw(splitpath splitdir catpath catdir rootdir);
19
use constant MIN_CLIENTS => 2;
21
use File::Spec::Functions qw(catdir);
22
use File::Basename qw(dirname);
26
# default timeout in secs (threaded mpms are extremely slow to
27
# startup, due to a slow perl_clone operation)
28
use constant DEFAULT_STARTUP_TIMEOUT =>
29
Apache::Build->build_config->mpm_is_threaded() ? 180 : 90;
24
31
# subclass new_test_config to add some config vars which will be
25
32
# replaced in generated httpd.conf
26
33
sub new_test_config {
29
my ($volume, $dir, $file) = splitpath Cwd::cwd(), 1;
30
my @dir = grep {length} splitdir $dir;
31
$dir = catdir @dir[0..($#dir-2)]; # remove two last dir segments
32
my $base = catpath $volume, rootdir(), $dir, $file;
33
$self->{conf_opts}->{src_dir} = catdir $base, qw(src modules perl);
35
$self->{conf_opts}->{maxclients} = MIN_MAXCLIENTS;
37
my $mp2_root_dir = dirname Apache::Test::vars('top_dir');
38
$self->{conf_opts}->{src_dir} = catdir $mp2_root_dir,
41
$self->{conf_opts}->{startup_timeout} ||=
42
$ENV{APACHE_TEST_STARTUP_TIMEOUT} ||
43
DEFAULT_STARTUP_TIMEOUT;
45
$self->{conf_opts}->{minclients} ||= MIN_CLIENTS;
37
47
return $self->SUPER::new_test_config;