Steve Hay wrote:
Stas Bekman wrote:
Steve Hay wrote:
Me again!
One more test failure on the usual Win32 setup (2.0.47 / [EMAIL PROTECTED] / mp2-cvs):
=====
C:\Temp\modperl-2.0>perl t/TEST -verbose t/apr/perlio.t
C:\apache2/bin/Apache.exe -d C:/Temp/modperl-2.0/t -f C:/Temp/modperl-2.0/t/con
# testing : read/write a dupped file # expected: This is a test: 3384 # received: This is a test: 3384 not ok 10
Thanks Steve, Randy has already reported this issue, but he didn't have a chance to debug it. Can you try and see why does it prepend the space when reading from a file? e.g. test the file itself, it could be that it wrote the space in there.
I changed the test script a little so that the later tests use a different filename. That way, the file doesn't get overwritten, and since there is no cleanup at the end that means it is left behind for me to look at.
The file does not have the leading space character that the test reports having received.
I'm a little confused how the open()'s work. I thought
open my $fh, "<:APR", $file, ...
would do
use PerlIO 'APR';
and hence
require PerlIO::APR;
(see PerlIO manpage), but I can't see a PerlIO::APR module - only an APR::PerlIO. Is that what it's using? If so, how?
So is xs\APR\PerlIO\ tha right place to be poking around?
it pushed that layer internally via open. Just like you can say:
open my $fh, "<:utf8", $file ...
without loading utf8.pm, see 'perldoc -f open'.
I'm not sure I understand your point. I'm aware that that you can write '<:APR' without loading any module yourself and Perl will take care of it for you. Fine. But the PerlIO manpage says that the module that will be loaded for you is, in this case, PerlIO::APR. I don't see any such module -- there is an APR::PerlIO, but no PerlIO::APR.
You need to poke in xs/APR/PerlIO/apr_perlio.c most likely inside: PerlIOAPR_read
however there is also the tracing option, before you try to step through with debugger. Try running the test with the 'o' option (o == IO):
env MOD_PERL_TRACE=o t/TEST -v apr/perlio
also you probably want to comment out the rest of the sub-tests in that file so they won't stand on your way.
[After rebuilding mp2 with MP_TRACE=1, which I didn't at first realise I needed to do!...]
This doesn't seem to produce any debug at all, other than a short dump of what the trace options are (confirming that I/O is selected).
Weird. There is an MP_TRACE_o() call in PerlIOAPR_read(). I can walk through it in the debugger -- it *does* call modperl_trace() and apparently write stuff out, but it never appears in the error_log.
Do other folks have any success using MOD_PERL_TRACE=o on Win32?
- Steve
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
