Subject: | Test::Builder->no_ending() fails during install. [patch attached] |
t/30_error.t appears to use no_ending() as a class/package method when it should be used as an object method.
(Running perl 5.8.3 on Fedora Core2)
Attached is a patch that allowed me to install POE::Component::Server::HTTP , and which I think makes sense.
To reproduce:
Show quoted text
cpan> install POE::Component::Server::HTTP
Running install for module POE::Component::Server::HTTP
Running make for R/RC/RCLAMP/POE-Component-Server-HTTP-0.07.tar.gz
Is already unwrapped into directory /home/kor/.cpan/build/POE-Component-Server-HTTP-0.07
Has already been processed within this session
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00_compile....ok
t/10_run........8977: Sleep 2...continue
t/10_run........ok
t/30_error......Can't use string ("Test::Builder") as a HASH ref while "strict refs"
in use at /usr/lib/perl5/5.8.3/Test/Builder.pm line 981.
make: *** [test_dynamic] Interrupt
/usr/bin/make test -- NOT OK
Running make install
make test had returned bad status, won't install without force
--- orig/30_error.t 2005-06-20 17:23:53.218282349 +0100
+++ kor/30_error.t 2005-06-20 17:25:20.407434723 +0100
@@ -27,7 +27,8 @@
####################################################################
unless($pid) { # we are child
- Test::Builder->no_ending(1);
+ my $current_test = Test::Builder::new;
+ $current_test->no_ending(1);
# stop kernel from griping
${$poe_kernel->[POE::Kernel::KR_RUN]} |=
POE::Kernel::KR_RUN_CALLED;