You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Fred Moyer <fr...@redhotpenguin.com> on 2011/06/02 20:54:47 UTC

Fwd: Apache::Test 1.36 broken with mod_perl version 1.x

This is one good reason to EOL mp1 in the same fashion that httpd has
been end of lifed.  Unless anyone wants to take a crack at this.  I'm
guessing that most everyone on this list is using mp2 by now.


---------- Forwarded message ----------
From: Michael Schout <ms...@gkg.net>
Date: Thu, Jun 2, 2011 at 11:47 AM
Subject: Apache::Test 1.36 broken with mod_perl version 1.x
To: bug-apache-test@rt.cpan.org, PHRED@cpan.org


Hi.

It seems that version 1.36 of Apache::Test does not work with mod_perl
1.x.  The following tests fail in Apache::Test 1.36 (I tried against
apache 1.3.33/mod_perl 1.31):

Failed Test         Stat Wstat Total Fail  List of Failed
-------------------------------------------------------------------------------
t/more/01testpm.t    255 65280    ??   ??  ??
t/more/02testmore.t  255 65280    ??   ??  ??
t/more/03testpm.t    255 65280    ??   ??  ??
t/more/04testmore.t  255 65280    ??   ??  ??
2 tests skipped.
Failed 4/16 test scripts. 0/93 subtests failed.
Files=16, Tests=93,  8 wallclock secs ( 4.38 cusr +  0.71 csys =  5.09 CPU)
Failed 4/16 test programs. 0/93 subtests failed.

A quick git bisect points to this commit as the problem:

svn rev 1062529:

>     Deprecate t/TEST -times=X in favor of t/SMOKE -times=X.  Changes to
>     TAP::Harness have removed the ability to re-use test object attributes.
>
>     Also generate t/SMOKE on build now, instead of requiring the user to build it.
>
>     Remove iteration variable for SMOKE, using only -times as the controller.
>
>     Thanks to Jim Jagielski for the spot on the -times=X issue on t/TEST.

Thats a fairly large commit, but I narrowed it down further to just the
use of Apache::TestSmoke in lib/Apache/TestMM.pm

If I reverse only this part:

> @@ -20,8 +20,9 @@ use warnings FATAL => 'all';
>
>  use Config;
>  use Apache::TestConfig ();
>  use Apache::TestTrace;
> +use Apache::TestSmoke;
>
>  sub import {
>      my $class = shift;
>
> @@ -138,8 +139,9 @@ sub generate_script {
>      close $in;
>
>      info "generating script $file";
>      Apache::Test::basic_config()->write_perlscript($file, $body);
> +    Apache::TestSmoke->generate_script;
>  }
>
>  sub filter_args {
>      my($argv, $vars) =
------

Then the tests pass again in v1.x (against Apache::Test trunk HEAD)

The t/logs/error_log seems to suggest that FindBin (used in
TestSmoke.pm) is the problem:

> [Thu Jun  2 13:43:29 2011] [error] Cannot find current script '/dev/null' at /home/mschout/perl5/perlbrew/perls/perl-5.8.9/lib/5.8.9/FindBin.pm line 206\nBEGIN failed--compilation aborted at /home/mschout/perl5/perlbrew/perls/perl-5.8.9/lib/5.8.9/FindBin.pm line 206.\nCompilation failed in require at /home/mschout/dev/apache-test/t/../lib/Apache/TestSmoke.pm line 31.\nBEGIN failed--compilation aborted at /home/mschout/dev/apache-test/t/../lib/Apache/TestSmoke.pm line 31.\nCompilation failed in require at /home/mschout/dev/apache-test/t/../lib/Apache/TestMM.pm line 24.\nBEGIN failed--compilation aborted at /home/mschout/dev/apache-test/t/../lib/Apache/TestMM.pm line 24.\nCompilation failed in require at /home/mschout/dev/apache-test/t/../lib/Apache/TestRun.pm line 22.\nBEGIN failed--compilation aborted at /home/mschout/dev/apache-test/t/../lib/Apache/TestRun.pm line 22.\nCompilation failed in require at /home/mschout/dev/apache-test/t/../lib/Apache/TestServer.pm line 26.\nBE
GIN failed--compilation aborted at
/home/mschout/dev/apache-test/t/../lib/Apache/TestServer.pm line
26.\nCompilation failed in require at
/home/mschout/dev/apache-test/t/../lib/Apache/TestConfig.pm line
55.\nBEGIN failed--compilation aborted at
/home/mschout/dev/apache-test/t/../lib/Apache/TestConfig.pm line
55.\nCompilation failed in require at
/home/mschout/dev/apache-test/t/../lib/Apache/Test.pm line 23.\nBEGIN
failed--compilation aborted at
/home/mschout/dev/apache-test/t/../lib/Apache/Test.pm line
23.\nCompilation failed in require at
/home/mschout/dev/apache-test/t/response/TestMore/testpm.pm line
6.\nBEGIN failed--compilation aborted at
/home/mschout/dev/apache-test/t/response/TestMore/testpm.pm line
6.\nCompilation failed in require at (eval 14) line 3.\n
> [Thu Jun  2 13:43:29 2011] [error] Undefined subroutine &TestMore::testpm::handler called.\n
> [Thu Jun  2 13:43:30 2011] [error] plan() doesn't understand Apache=SCALAR(0x111a470) tests at /home/mschout/dev/apache-test/t/response/TestMore/testmorepm.pm line 11.\n
> [Thu Jun  2 13:43:30 2011] [error] Undefined subroutine &TestMore::testpm::handler called.\n
> [Thu Jun  2 13:43:31 2011] [error] plan() doesn't understand Apache=SCALAR(0x111a4a0) tests at /home/mschout/dev/apache-test/t/response/TestMore/testmorepm.pm line 11.\n
> [Thu Jun  2 13:43:32 2011] [info] removed PID file /home/mschout/dev/apache-test/t/logs/httpd.pid (pid=13949)
> [Thu Jun  2 13:43:32 2011] [notice] caught SIGTERM, shutting down

So for whatever reason, FindBin isn't working in mod_perl 1.x.. not sure
what the best solution to this is.

Regards,
Michael Schout

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: Apache::Test 1.36 broken with mod_perl version 1.x

Posted by Perrin Harkins <pe...@elem.com>.
On Thu, Jun 2, 2011 at 2:54 PM, Fred Moyer <fr...@redhotpenguin.com> wrote:
> I'm guessing that most everyone on this list is using mp2 by now.

I don't think so.  Every place I've worked was using mp1.  Not many
people use Apache::Test though.

- Perrin

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org