use strict; use Test::More tests => 8; use Net::SSL; # ensure no proxification takes place $ENV{NO_PROXY} = '127.0.0.1'; my $sock; eval { $sock = Net::SSL->new( PeerAddr => '127.0.0.1', PeerPort => 443, Timeout => 3, ); }; my $test_name = 'Net::SSL->new'; if ($@) { my $fail = $@; if ($fail =~ /\AConnect failed: connect: \b/i) { pass( "$test_name - expected failure" ); } else { fail( "$test_name" ); diag( $fail ); } } else { ok( defined $sock, $test_name ); } SKIP: { skip( "nothing listening on localhost:443", 7 ) unless defined $sock; is( ref($sock), 'Net::SSL', 'blessed socket' ); eval { $sock->accept }; like ($@, qr(\Aaccept not implemented for Net::SSL sockets), 'accept() not implemented' ); eval { $sock->getc }; like ($@, qr(\Agetc not implemented for Net::SSL sockets), 'getc() not implemented' ); eval { $sock->ungetc }; like ($@, qr(\Aungetc not implemented for Net::SSL sockets), 'ungetc() not implemented' ); eval { $sock->getlines }; like ($@, qr(\Agetlines not implemented for Net::SSL sockets), 'getlines() not implemented' ); is( $sock->blocking, 1, 'socket is blocking' ); $sock->blocking(0); is( $sock->blocking, 0, 'socket is now non-blocking' ); }