Steve Hay wrote:
Stas Bekman wrote:


Steve Hay wrote:



Surely which tests get run should depend on which tests exist (*.t files), rather than which t/response/*.pm files exist?



It's a feature. *.t is autogenerated if t/response/*/*.pm is found. So if you want to create some module which is *not* a response handler, put it in t/lib or lib instead.




Ah. I didn't realise that.


Attached is a new test skeleton. I am able to reproduce the failure using the skeleton in the following way (the usual "perl Makefile.PL / make / make test" sequence won't work because of the hash_attack problem described above):

1. Extract tarball

2. Run "perl Makefile.PL -apxs C:\apache2\bin\apxs.bat" [or wherever your apxs is] to generate a t/TEST

3. Run "perl t/TEST t/modules/reload.t t/perl/api.t t/perl/ithreads.t" to explicitly run the tests that actually exist ;) This succeeds at this stage -- all tests OK.

4. Edit t/conf/httpd.conf as follows:

4a.  Change the lines that look something like this:

<IfModule mod_perl.c>
  PerlRequire C:\Temp\bug-reporting-skeleton-mp2\t\conf\modperl_startup.pl
</IfModule>

to something like this instead:

PerlSwitches -IC:\Temp\bug-reporting-skeleton-mp2\t\response
PerlSwitches -IC:\Temp\bug-reporting-skeleton-mp2\t\lib
PerlModule Apache2

4b.  Insert the line:

PerlModule TestPerl::hash_attack

just before the lines:

<Location /TestPerl__hash_attack>
  SetHandler modperl
  PerlResponseHandler TestPerl::hash_attack
</Location>

5. Run "perl t/TEST t/modules/reload.t t/perl/api.t t/perl/ithreads.t" again. This time, the ithreads.t test crashes the server.




Any chance you can make the failing tarball, which already includes all the above?




Do you mean a tarball which contains those instructions or a tarball of my skeleton tree in which those instructions have already been carried out?


I assume you mean the former, since latter wouldn't be very useful. Attached (hopefully) is a new tarball with a (simplified) HOW_TO_REPRODUCE file, and hash_attack.pm moved to t/lib/

Your t/conf/extra.conf.in has hardcoded path and you miss PerlModule Apache2. so it should be:


PerlSwitches [EMAIL PROTECTED]@
PerlSwitches [EMAIL PROTECTED]@/response
PerlSwitches [EMAIL PROTECTED]@/lib
PerlModule Apache2
PerlModule Apache::RequestRec
PerlModule Apache::TestHandler
PerlModule APR::Table
PerlModule TestPerl::hash_attack

As expected, I get no problem with this setup. :(

--
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to