# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # package ModPerl::TestRun; use strict; use warnings FATAL => 'all'; use base qw(Apache::TestRunPerl); use Apache2::Build; # some mp2 tests require more than one server instance to be available # without which the server may hang, waiting for the single server # become available use constant MIN_CLIENTS => 2; sub new_test_config { my $self = shift; # default timeout in secs (threaded mpms are extremely slow to # startup, due to a slow perl_clone operation) $self->{conf_opts}->{startup_timeout} ||= $ENV{APACHE_TEST_STARTUP_TIMEOUT} || Apache2::Build->build_config->mpm_is_threaded() ? 300 : 120; $self->{conf_opts}->{minclients} ||= MIN_CLIENTS; ModPerl::TestConfig->new($self->{conf_opts}); } sub bug_report { my $self = shift; print <SUPER::new(@_); my $config = Apache2::Build->build_config; $self->{conf_opts}->{httpd} ||= $config->{httpd}; return $self; } # - don't inherit LoadModule perl_module from the apache httpd.conf # - loaded fastcgi crashes some mp2 tests my @skip = ('mod_perl.c', qr/mod_fastcgi.*?\.c$/); Apache::TestConfig::autoconfig_skip_module_add(@skip); 1;