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