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