Mark, I've reviewed the Makefile.PL for 2.15
http://cpansearch.perl.org/src/MARKSTOS/CGI-Application-Dispatch-2.15/Makefile.PL
I also looked at the UNKNOWN results as you suggested. I think that
perhaps t/TEST was not being generated because of this code:
# Apache::TestMM::filter_args();
# Apache::TestMM::generate_script('t/TEST');
But it sounds like you may have tried that. This Apache::Test config is
tricky, here is what I suggest.
Take a look at this sub check_for_apache_test() from Apache::Bootstrap [2]
And then look at this test target in the Apache::Dispatch Makefile.PL
for the package MY; section [1]. If you use an approach like this,
tests should be skipped if Apache::Test isn't present, and your t/TEST
file should generate ok (I just reviewed that and tested it here).
I'm going to mark this resolved since 2.16 isn't showing these issues,
but please feel free to ping me or open up a new ticket if you try to do
something like this again and are having issues.
[1]
sub test {
my $self = shift;
eval { require Test::More } or return <<EOF;
test::
\t\@echo sorry, cannot run tests without Test::More
EOF
return $self->Apache::TestMM::test(@_) if $HAS_APACHE_TEST;
return <<EOF
test::
\t\@echo
\t\@echo sorry, cannot run tests without a properly
\t\@echo configured Apache-Test environment
\t\@echo
EOF
}
[2]
sub check_for_apache_test {
my ( $self, $at_min_ver ) = @_;
return unless eval {
require Apache::Test;
if ( $Apache::Test::VERSION < ( $at_min_ver || 0 ) ) {
warn "Apache::Test version is "
. $Apache::Test::VERSION
. ", minimum version required is $at_min_ver"
. ", tests will be skipped\n";
die;
}
require Apache::TestMM;
require Apache::TestRunPerl;
1;
};
Apache::TestMM::filter_args();
no warnings; # silence '@Apache::TestMM::Argv used only once' warning
my %args = @Apache::TestMM::Argv;
return
unless (
(
Apache::TestConfig->can('custom_config_path')
and -f Apache::TestConfig->custom_config_path()
)
or $args{apxs}
or $args{httpd}
or $ENV{APACHE_TEST_HTTPD}
or $ENV{APACHE_TEST_APXS}
);
Apache::TestRunPerl->generate_script();
return $Apache::Test::VERSION;
}