#!perl
use strict;
use warnings;
my $runner = Apache::TestRunPerl::Custom->new()->run(@ARGV);
# The custom module
package Apache::TestRunPerl::Custom;
use base qw(Apache::TestRunPerl);
use File::Spec;
use IO::File;
sub configure
{
my $self = shift;
my $conf_file = $self->_conf_file();
my $skip_file = File::Spec->catfile( $self->{test_config}{vars}{t_conf}, 'skip' );
for my $file ( $conf_file, $skip_file )
{
if ( -f $file )
{
unlink $file
or die "Cannot unlink $file: $!";
}
}
$self->SUPER::configure(@_);
if ( $self->{test_config}{server}{rev} >= 2 )
{
my $apreq2 = $self->{test_config}->find_apache_module('mod_apreq2.so');
if ($apreq2)
{
$self->_write_apreq_conf( "LoadModule apreq_module $apreq2" );
}
else
{
$self->_write_apreq_conf('');
open my $fh, '>', $skip_file
or die "Cannot write to $skip_file: $!";
}
}
else
{
$self->_write_apreq_conf('');
}
}
sub _conf_file { File::Spec->catfile( $_[0]->{test_config}{vars}{t_conf}, 'apreq2.conf' ) }
sub _write_apreq_conf
{
my $self = shift;
my $content = shift;
my $conf_file = $self->_conf_file();
open my $fh, '>', $conf_file
or die "Cannot write to $conf_file: $!";
print $fh $content . "\n"
or die "Cannot write to $conf_file: $!";
close $fh
or die "Cannot write to $conf_file: $!";
}
1;