perlio_leaks.t revision 1.1.1.1
1#!perl
2# ioleaks.t
3
4use strict;
5use warnings;
6use Test::More 'no_plan';
7
8# :unix   -> not ok
9# :stdio  -> not ok
10# :perlio -> ok
11# :crlf   -> ok
12
13TODO: {
14    foreach my $layer(qw(:unix :stdio  :perlio :crlf)){
15        my $base_fd = do{ open my $in, '<', $0 or die $!; fileno $in };
16
17        for(1 .. 3){
18	    local $TODO;
19	    if ($_ > 1 && $layer =~ /^:(unix|stdio)$/) {
20		$TODO = "[perl #56644] PerlIO resource leaks on open() and then :pop in :unix and :stdio"
21	    }
22	    open my $fh, "<$layer", $0 or die $!;
23
24	    is fileno($fh), $base_fd, $layer;
25	    binmode $fh, ':pop';
26        }
27    }
28}
29
30