You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by st...@apache.org on 2004/03/01 23:18:18 UTC
cvs commit: modperl-2.0/t/response/TestModperl request_rec_perlio_api.pm
stas 2004/03/01 14:18:18
Modified: t/modperl request_rec_perlio_api.t
t/response/TestModperl request_rec_perlio_api.pm
Log:
as of perl 5.8.3 in-memory-filehandles have problems with STD streams and
threads. A sequence:
% t/TEST -v t/modperl/request_rec_perlio_api.t \
t/modperl/io_nested_with_closed_stds.t
was failing because of the warning in the latter test:
Filehandle STDOUT reopened as STDIN only for input at
/home/stas/apache.org/modperl-2.0/t/response/TestModperl/io_nested_with_closed_stds.pm
line 54.
This is because PerlIO_stdin() wasn't getting restored after the
in-memory-filehandle was used and had it fileno stuck at that
in-memory-filehandle that has gone out of scope.
Solution: use a plain file to reopen STDIN
Revision Changes Path
1.3 +1 -1 modperl-2.0/t/modperl/request_rec_perlio_api.t
Index: request_rec_perlio_api.t
===================================================================
RCS file: /home/cvs/modperl-2.0/t/modperl/request_rec_perlio_api.t,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -u -r1.2 -r1.3
--- request_rec_perlio_api.t 15 Oct 2003 08:06:03 -0000 1.2
+++ request_rec_perlio_api.t 1 Mar 2004 22:18:17 -0000 1.3
@@ -16,7 +16,7 @@
{
my $content = join "", 'a'..'j', 'k'..'t';
my $location = "$uri?STDIN";
- my $expected = join "", 'a'..'j', "<samba>", 'k'..'t';
+ my $expected = join "", 'a'..'j', "package", 'k'..'t';
my $received = POST_BODY_ASSERT $location, content => $content;
ok t_cmp($expected, $received, "STDIN tests");
}
1.3 +2 -6 modperl-2.0/t/response/TestModperl/request_rec_perlio_api.pm
Index: request_rec_perlio_api.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/t/response/TestModperl/request_rec_perlio_api.pm,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -u -r1.2 -r1.3
--- request_rec_perlio_api.pm 15 Oct 2003 08:08:52 -0000 1.2
+++ request_rec_perlio_api.pm 1 Mar 2004 22:18:17 -0000 1.3
@@ -38,14 +38,10 @@
# lose any chars when we restore it to the POST stream
open my $stdin, "<&STDIN" or die "Can't dup STDIN: $!";
- # at this occasion, let's test in memory files feature
- # (new in 5.8.0)
- my $in_mem_file = "<samba>";
- close STDIN;
- open STDIN, "<", \$in_mem_file
+ open STDIN, "<", __FILE__
or die "failed to open STDIN as 'in memory' file : $!";
my $data;
- read STDIN, $data, length $in_mem_file;
+ read STDIN, $data, length("package");
print STDOUT $data;
close STDIN;