Matt Hicks
2005-06-28 18:35:17 UTC
Sanity check! Using Apache::Test 1.25, Test::Simple 0.60, mod_perl 2.0,
Apache 2.0.54. I have the following in t/response/TestHandler/01compile.pm
package TestHandler::01compile;
use strict;
use warnings FATAL => qw(all);
use Apache::Test qw(-withtestmore);
use Apache2::Const -compile => qw(OK);
sub handler {
my $r = shift;
plan $r, tests => 1;
use_ok('My::ModPerlHandler');
return Apache2::Const::OK;
}
1;
Can't use string ("Test::Builder") as a HASH ref while "strict refs"
in use at C:/Perl/lib/Test/Builder.pm line 179.
Looking at Test::Builder 0.30, one finds line 179 is the reset method.
sub reset {
my ($self) = @_;
# We leave this a global because it has to be localized and localizing
# hash keys is just asking for pain. Also, it was documented.
$Level = 1;
$self->{Test_Died} = 0; # line 179
...
Digging through Apache::Test, Test::Builder->reset is called only once,
in test_pm_refresh.
sub test_pm_refresh {
if (@testmore) {
Test::Builder->reset;
...
Now, this looks like a bug. The T::B->reset method expects an object,
Apache::Test calls it as a class method. I allow for the possibility that
I've completely misunderstood everything--or even just some things.
OTOH, if I avoid Test::More in A::T like so, the test succeeds.
use Apache::Test;
...
ok( sub { require My::ModPerlHandler }, 1 );
Not that that's a smart way to test it, just what came to mind.
-Matt
Apache 2.0.54. I have the following in t/response/TestHandler/01compile.pm
package TestHandler::01compile;
use strict;
use warnings FATAL => qw(all);
use Apache::Test qw(-withtestmore);
use Apache2::Const -compile => qw(OK);
sub handler {
my $r = shift;
plan $r, tests => 1;
use_ok('My::ModPerlHandler');
return Apache2::Const::OK;
}
1;
Can't use string ("Test::Builder") as a HASH ref while "strict refs"
in use at C:/Perl/lib/Test/Builder.pm line 179.
Looking at Test::Builder 0.30, one finds line 179 is the reset method.
sub reset {
my ($self) = @_;
# We leave this a global because it has to be localized and localizing
# hash keys is just asking for pain. Also, it was documented.
$Level = 1;
$self->{Test_Died} = 0; # line 179
...
Digging through Apache::Test, Test::Builder->reset is called only once,
in test_pm_refresh.
sub test_pm_refresh {
if (@testmore) {
Test::Builder->reset;
...
Now, this looks like a bug. The T::B->reset method expects an object,
Apache::Test calls it as a class method. I allow for the possibility that
I've completely misunderstood everything--or even just some things.
OTOH, if I avoid Test::More in A::T like so, the test succeeds.
use Apache::Test;
...
ok( sub { require My::ModPerlHandler }, 1 );
Not that that's a smart way to test it, just what came to mind.
-Matt