You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-dev@httpd.apache.org by Stas Bekman <st...@stason.org> on 2004/12/20 22:30:16 UTC
A-T: testmore failures
Geoff, when running A-T t/more:
[Mon Dec 20 16:04:12 2004] [error] [client 127.0.0.1] failed to resolve
handler `TestMore::testmorepm': -withtestmore error: Test::Builder version
0.18_01 required--this is only version 0.17 at
/home/stas/apache.org/Apache-Test/t/../lib/Apache/Test.pm line 68.
% perl5.8.6 -MTest::More -le 'print Test::More->VERSION'
0.54
the problem is simple - A-T's test suite doesn't use Apache::TestRunPerl,
so all the special stuff needed by modperl is not used. So it picks the
default module it finds (if any). in this case it picks the wrong
mod_perl.so, and the server side ends up running under a different perl.
So the client and server don't agree and this kind of failure happens.
So I think the only solution to this is enforce that A-T tests require
installed modperl. or something else needs to be done with t/more.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: A-T: testmore failures
Posted by Stas Bekman <st...@stason.org>.
Geoffrey Young wrote:
>>so you are looking at encountering other
>>problems, as you try to run modperl tests without using a correct
>>environment.
>
>
> yeah, you're right.
>
> >>> or something else needs to be done with t/more.
>
> yes. well, with Apache/Test.pm actually. this should be more helpful:
>
> Index: lib/Apache/Test.pm
> ===================================================================
> --- lib/Apache/Test.pm (revision 122981)
> +++ lib/Apache/Test.pm (working copy)
> @@ -75,7 +75,7 @@
> Test::More->import(@testmore);
>
> \&Test::More::plan;
> - } or die "-withtestmore error: $@";
> + } or print "1..0 # skipped: -withtestmore error $@\n" && exit;
>
> # clean up arguments to export_to_level
> shift;
>
>
> of course, that will rely on a recent fix to mod_perl svn :)
Perfect, go for it Geoff. The mp2 fix is in.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: A-T: testmore failures
Posted by Geoffrey Young <ge...@modperlcookbook.org>.
> so you are looking at encountering other
> problems, as you try to run modperl tests without using a correct
> environment.
yeah, you're right.
>>> or something else needs to be done with t/more.
yes. well, with Apache/Test.pm actually. this should be more helpful:
Index: lib/Apache/Test.pm
===================================================================
--- lib/Apache/Test.pm (revision 122981)
+++ lib/Apache/Test.pm (working copy)
@@ -75,7 +75,7 @@
Test::More->import(@testmore);
\&Test::More::plan;
- } or die "-withtestmore error: $@";
+ } or print "1..0 # skipped: -withtestmore error $@\n" && exit;
# clean up arguments to export_to_level
shift;
of course, that will rely on a recent fix to mod_perl svn :)
>> or not worry about it at all - t/more isn't in the MANIFEST, so it
>> will only
>> be a "problem" for people like us. I mean, we can spend tuits mucking
>> around with it, but I don't think it's all that important, since
>> -withtestmore is marked as "useful but experimental" anyway.
>
>
> Why not put it in a separate test suite then? That should be an easy
> thing to do, and Apache-Test already includes additional test suites
> since a few days.
sure, that's fine.
--Geoff
Re: A-T: testmore failures
Posted by Stas Bekman <st...@stason.org>.
Geoffrey Young wrote:
>>the problem is simple - A-T's test suite doesn't use
>>Apache::TestRunPerl, so all the special stuff needed by modperl is not
>>used. So it picks the default module it finds (if any). in this case it
>>picks the wrong mod_perl.so, and the server side ends up running under a
>>different perl.
>
>
> yeah, well... it's not _my_ fault that the test checks for Test::More and
> mod_perl but the embedded mod_perl.so isn't the same :)
if that was the only reason, Apache::TestRunPerl wouldn't have been needed
in first place. so you are looking at encountering other problems, as you
try to run modperl tests without using a correct environment.
>>So I think the only solution to this is enforce that A-T tests require
>>installed modperl.
>
> I wouldn't want to do that - people other than mod_perl folks are using this
> and I wouldn't want to effectively say "the tests can't be run unless you're
> using mod_perl, loser."
In which case those tests don't belong to that test suite, IMHO.
>>or something else needs to be done with t/more.
>
> or not worry about it at all - t/more isn't in the MANIFEST, so it will only
> be a "problem" for people like us. I mean, we can spend tuits mucking
> around with it, but I don't think it's all that important, since
> -withtestmore is marked as "useful but experimental" anyway.
Why not put it in a separate test suite then? That should be an easy thing
to do, and Apache-Test already includes additional test suites since a few
days.
--
__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com
Re: A-T: testmore failures
Posted by Geoffrey Young <ge...@modperlcookbook.org>.
> the problem is simple - A-T's test suite doesn't use
> Apache::TestRunPerl, so all the special stuff needed by modperl is not
> used. So it picks the default module it finds (if any). in this case it
> picks the wrong mod_perl.so, and the server side ends up running under a
> different perl.
yeah, well... it's not _my_ fault that the test checks for Test::More and
mod_perl but the embedded mod_perl.so isn't the same :)
> So I think the only solution to this is enforce that A-T tests require
> installed modperl.
I wouldn't want to do that - people other than mod_perl folks are using this
and I wouldn't want to effectively say "the tests can't be run unless you're
using mod_perl, loser."
> or something else needs to be done with t/more.
or not worry about it at all - t/more isn't in the MANIFEST, so it will only
be a "problem" for people like us. I mean, we can spend tuits mucking
around with it, but I don't think it's all that important, since
-withtestmore is marked as "useful but experimental" anyway.
--Geoff