4 unless(grep /blib/, @INC) {
13 if(-d "lib" && -f "TEST") {
15 if (! $Config{'d_fork'}) {
18 elsif ($Config{'extensions'} !~ /\bSocket\b/) {
19 $reason = 'Socket extension unavailable';
21 elsif ($Config{'extensions'} !~ /\bIO\b/) {
22 $reason = 'IO extension unavailable';
24 elsif ($^O eq 'os2') {
27 eval {IO::Socket::pack_sockaddr_un('/tmp/foo') || 1}
28 or $@ !~ /not implemented/ or
29 $reason = 'compiled without TCP/IP stack v4';
30 } elsif ($^O eq 'qnx') {
31 $reason = 'Not implemented';
33 undef $reason if $^O eq 'VMS' and $Config{d_socket};
35 print "1..0 # Skip: $reason\n";
41 $PATH = "/tmp/sock-$$";
43 # Test if we can create the file within the tmp directory
44 if (-e $PATH or not open(TEST, ">$PATH") and $^O ne 'os2') {
45 print "1..0 # Skip: cannot open '$PATH' for write\n";
49 unlink($PATH) or $^O eq 'os2' or die "Can't unlink $PATH: $!";
57 $listen = IO::Socket::UNIX->new(Local=>$PATH, Listen=>0) || die "$!";
62 $sock = $listen->accept();
65 print $sock->getline();
72 unlink($PATH) || $^O eq 'os2' || warn "Can't unlink $PATH: $!";
76 } elsif(defined $pid) {
78 $sock = IO::Socket::UNIX->new(Peer => $PATH) or die "$!";
82 print $sock->getline();