Tests: avoid ssl_certificate.t hang on SIGPIPE. It could stuck in SSL shutdown after abrupt connection termination by nginx. A similar change is applied to stream_ssl_certificate.t for consistency.
diff --git a/ssl_certificate.t b/ssl_certificate.t index 43ce4ce..ff49eee 100644 --- a/ssl_certificate.t +++ b/ssl_certificate.t
@@ -198,6 +198,9 @@ sub get { my ($host, $port, $ctx) = @_; my ($s, $ssl) = get_ssl_socket($host, $port, $ctx) or return; + + local $SIG{PIPE} = 'IGNORE'; + Net::SSLeay::write($ssl, 'GET / HTTP/1.0' . CRLF . CRLF); my $r = Net::SSLeay::read($ssl); Net::SSLeay::shutdown($ssl);
diff --git a/stream_ssl_certificate.t b/stream_ssl_certificate.t index 59a4d27..0676f4b 100644 --- a/stream_ssl_certificate.t +++ b/stream_ssl_certificate.t
@@ -175,6 +175,9 @@ sub get { my ($host, $port, $ctx) = @_; my ($s, $ssl) = get_ssl_socket($host, $port, $ctx) or return; + + local $SIG{PIPE} = 'IGNORE'; + my $r = Net::SSLeay::read($ssl); Net::SSLeay::shutdown($ssl); $s->close();