File Coverage

blib/lib/Protocol/DBus/Connect.pm
Criterion Covered Total %
statement 15 19 78.9
branch 4 8 50.0
condition n/a
subroutine 4 4 100.0
pod 0 1 0.0
total 23 32 71.8


line stmt bran cond sub pod time code
1             package Protocol::DBus::Connect;
2              
3 5     5   432 use strict;
  5         10  
  5         145  
4 5     5   30 use warnings;
  5         55  
  5         120  
5              
6 5     5   24 use Socket;
  5         11  
  5         3191  
7              
8             sub create_socket {
9 1     1 0 18 my ($addr_obj) = @_;
10              
11 1 50       50 if ($addr_obj->transport() eq 'unix') {
12 1 50       5 my $path = $addr_obj->attribute('path') or do {
13 0         0 die( "No “path”: " . $addr_obj->to_string() );
14             };
15              
16 1 50       54 socket my $s, Socket::AF_UNIX(), Socket::SOCK_STREAM(), 0 or do {
17 0         0 die "socket(AF_UNIX, SOCK_STREAM): $!";
18             };
19              
20 1 50       66 connect $s, Socket::pack_sockaddr_un($path) or do {
21 0         0 die "connect($path): $!";
22             };
23              
24 1         59 return $s;
25             }
26              
27             # TODO: Handle TCP addresses.
28              
29 0           die( "Unrecognized path: " . $addr_obj->to_string() );
30             }
31              
32             1;