File Coverage

blib/lib/Devel/hdb.pm
Criterion Covered Total %
statement 25 39 64.1
branch 2 20 10.0
condition n/a
subroutine 7 8 87.5
pod n/a
total 34 67 50.7


line stmt bran cond sub pod time code
1 1     1   99799 use warnings;
  1         2  
  1         33  
2 1     1   6 use strict;
  1         1  
  1         40  
3              
4             package Devel::hdb;
5              
6 1     1   422 use Devel::hdb::App;
  1         3  
  1         54  
7 1     1   411 use Devel::hdb::TraceFollow;
  1         3  
  1         46  
8 1     1   7 use IO::Socket::INET;
  1         2  
  1         9  
9 1     1   498 use IO::File;
  1         2  
  1         481  
10              
11             our $VERSION = '0.24';
12              
13             sub import {
14 1     1   12 my $class = shift;
15              
16 1         2 our $TESTHARNESS;
17 1         2 my($trace, $follow);
18              
19 1         4 while (@_) {
20 0         0 my $param = shift;
21 0 0       0 if ($param =~ m/port:(\d+)/) {
    0          
    0          
    0          
    0          
    0          
    0          
22 0         0 our $PORT = $1;
23             } elsif ($param =~ m/host:([\w.]+)/) {
24 0         0 our $HOST = $1;
25             } elsif ($param eq 'a') {
26 0         0 our $HOST = inet_ntoa(INADDR_ANY);
27             } elsif ($param eq 'testharness') {
28 0         0 $TESTHARNESS = 1;
29             } elsif ($param =~ m/trace:(.*)/) {
30 0         0 $trace = $1;
31             } elsif ($param =~ m/follow:(.*)/) {
32 0         0 $follow = $1;
33             } elsif ($param =~ m/listenfd:(\d+)/) {
34 0         0 our $LISTEN_SOCK = IO::Socket::INET->new();
35 0         0 $LISTEN_SOCK->fdopen($1, 'r');
36             }
37              
38             }
39              
40 1         5 my $self = Devel::hdb::App->get();
41 1 50       4 if ($trace) {
    50          
42 0 0       0 print STDERR "Writing execution trace to $trace...\n" unless $TESTHARNESS;
43 0         0 $self->{trace} = Devel::hdb::Trace->new($trace);
44             } elsif ($follow) {
45             $self->{follow} = Devel::hdb::Follow->new(
46             $follow,
47 0     0   0 sub { $self->notify_trace_diff(@_) }
48 0         0 );
49             }
50              
51 1         8 $self->attach();
52             }
53             1;
54             __END__