File Coverage

blib/lib/Bio/Gonzales/Util/IO/Compressed.pm
Criterion Covered Total %
statement 32 32 100.0
branch 3 6 50.0
condition 1 2 50.0
subroutine 8 8 100.0
pod 0 2 0.0
total 44 50 88.0


line stmt bran cond sub pod time code
1             package Bio::Gonzales::Util::IO::Compressed;
2              
3 30     30   259 use warnings;
  30         61  
  30         1043  
4 30     30   180 use strict;
  30         75  
  30         855  
5 30     30   200 use Carp;
  30         69  
  30         1732  
6              
7 30     30   625 use 5.010;
  30         133  
8 30     30   203 use Data::Dumper;
  30         78  
  30         1838  
9              
10 30     30   196 use Carp;
  30         80  
  30         7437  
11              
12             sub new {
13 3     3 0 46 my $type = shift;
14 3   50     206 my $class = ref($type) || $type || die "error in class creation: " . __PACKAGE__;
15 3 50       46 @_ == 2 or croak "usage: new $class FH, PID";
16              
17 3         29 my ( $fh, $pid ) = @_;
18 3         54 my $me = bless $fh, $class;
19              
20 3 50       100 die unless defined $pid;
21 3         22 ${*$me}{'io_pipe_pid'} = $pid;
  3         201  
22              
23 3         172 $me;
24             }
25              
26             sub close {
27 3     3 0 3026 my $fh = shift;
28 3         65 my $r = CORE::close($fh);
29              
30 3         1655848 waitpid( ${*$fh}{'io_pipe_pid'}, 0 )
31 3 50       11 if ( defined ${*$fh}{'io_pipe_pid'} );
  3         20  
32              
33 3         114 $r;
34             }
35              
36             1;