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   475 use strict;
  5         10  
  5         142  
4 5     5   24 use warnings;
  5         12  
  5         116  
5              
6 5     5   20 use Socket;
  5         10  
  5         3318  
7              
8             sub create_socket {
9 1     1 0 26 my ($addr_obj) = @_;
10              
11 1 50       74 if ($addr_obj->transport() eq 'unix') {
12 1 50       11 my $path = $addr_obj->attribute('path') or do {
13 0         0 die( "No “path”: " . $addr_obj->to_string() );
14             };
15              
16 1 50       76 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       70 connect $s, Socket::pack_sockaddr_un($path) or do {
21 0         0 die "connect($path): $!";
22             };
23              
24 1         69 return $s;
25             }
26              
27             # TODO: Handle TCP addresses.
28              
29 0           die( "Unrecognized path: " . $addr_obj->to_string() );
30             }
31              
32             1;