Stas Bekman wrote:
Steve Hay wrote:
Using bleadperl (@24099), svn mp2 (rev 159469), Apache 2.0.53 on WinXP I have t/error/runtime.t failing tests 7, 9, 11.
Attached is console output and the relevant bits from error_log.
Could it be related to this change: http://svn.apache.org/viewcvs.cgi/perl/modperl/trunk/t/response/TestError/runtime.pm?rev=156118&r1=70923&r2=156118&diff_format=h
i.e. the one that did: s/APR::TIMEUP/APR::EAGAIN/, try reversing it?
Tests 7, 9, 11 are eval_block_mp_error, eval_string_mp_error, overload_test respectively.
Reverting the change cited above changes EAGAIN back to TIMEUP in eval_block_mp_error and eval_string_mp_error and removes overload_test. This removes test 11, and hence removes that failure ;), but tests 7 and 9 still fail.
OK, so it's not s/APR::TIMEUP/APR::EAGAIN/. The only thing that has certainly changed is that the overload of APR::Error now works correctly, which wasn't the case before.
Why your error log doesn't have these logs? Makes it hard to tell real errors from expected ones. *** The following error entry is expected and harmless ***
You can see, it's done by t_server_log_error_is_expected(); imported from Apache::TestUtil. Any chance you could check where it disappears?
So #7 eval_block_mp_error gives us:
eval block has failed: APR::Socket::recv: (730035) A non-blocking socket operation could not be completed immediately. at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm line 156 at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm line 114.\n
1) I suppose 730035 is not APR::Const::EAGAIN, so it doesn't retry as the test goes. Or does it? Try printing:
warn "APR::Const::EAGAIN value: " . APR::Const::EAGAIN+0;
to see what's the error id it matches.
2) If it is (730035) then try to raise the number of tries and see if it makes any difference.
#9 eval_string_mp_error gives us:
eval string has failed: APR::Socket::recv: (730035) A non-blocking socket operation could not be completed immediately. at (eval 124) line 1 at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm line 125.\n
This is exactly the same as #7.
#11 overload_test gives us:
'==' overload is broken at C:\\apache2\\source\\mod_perl-2.0\\t\\response/TestError/runtime.pm line 46.\n
1) it fails here: die "'==' overload is broken" unless $@ == APR::Const::EAGAIN;
so, it looks again the same issue. You are probably getting a different $@ under windows.
I guess we could find out what is that constant, or try to use a different operation that will certainly fail and it'll give the same error constant on all platforms. Suggestions are welcome.
--
__________________________________________________________________
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]
