diff h2_ssl_variables.t @ 1033:45c80276d691

Tests: unbreak for nginx built with OpenSSL without NPN/ALPN.
author Sergey Kandaurov <pluknet@nginx.com>
date Wed, 14 Sep 2016 19:38:13 +0300
parents de513b115e68
children 8ef51dbb5d69
line wrap: on
line diff
--- a/h2_ssl_variables.t
+++ b/h2_ssl_variables.t
@@ -93,11 +93,15 @@ open STDERR, ">&", \*OLDERR;
 
 my ($s, $sid, $frames, $frame);
 
+my $has_npn = eval { Test::Nginx::HTTP2::new_socket(port(8080), SSL => 1,
+	npn => 'h2')->next_proto_negotiated() };
+my $has_alpn = eval { Test::Nginx::HTTP2::new_socket(port(8080), SSL => 1,
+	alpn => 'h2')->alpn_selected() };
+
 # SSL/TLS connection, NPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_npn() or die; };
-skip 'OpenSSL NPN support required', 1 if $@;
+skip 'OpenSSL NPN support required', 1 unless $has_npn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, npn => 'h2');
 $sid = $s->new_stream({ path => '/h2' });
@@ -111,8 +115,7 @@ is($frame->{data}, 'h2', 'http variable 
 # SSL/TLS connection, ALPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_alpn() or die; };
-skip 'OpenSSL ALPN support required', 1 if $@;
+skip 'OpenSSL ALPN support required', 1 unless $has_alpn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, alpn => 'h2');
 $sid = $s->new_stream({ path => '/h2' });
@@ -126,8 +129,7 @@ is($frame->{data}, 'h2', 'http variable 
 # $server_protocol - SSL/TLS connection, NPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_npn() or die; };
-skip 'OpenSSL NPN support required', 1 if $@;
+skip 'OpenSSL NPN support required', 1 unless $has_npn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, npn => 'h2');
 $sid = $s->new_stream({ path => '/sp' });
@@ -141,8 +143,7 @@ is($frame->{data}, 'HTTP/2.0', 'server_p
 # $server_protocol - SSL/TLS connection, ALPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_alpn() or die; };
-skip 'OpenSSL ALPN support required', 1 if $@;
+skip 'OpenSSL ALPN support required', 1 unless $has_alpn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, alpn => 'h2');
 $sid = $s->new_stream({ path => '/sp' });
@@ -156,8 +157,7 @@ is($frame->{data}, 'HTTP/2.0', 'server_p
 # $scheme - SSL/TLS connection, NPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_npn() or die; };
-skip 'OpenSSL NPN support required', 1 if $@;
+skip 'OpenSSL NPN support required', 1 unless $has_npn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, npn => 'h2');
 $sid = $s->new_stream({ path => '/scheme' });
@@ -171,8 +171,7 @@ is($frame->{data}, 'https', 'scheme vari
 # $scheme - SSL/TLS connection, ALPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_alpn() or die; };
-skip 'OpenSSL ALPN support required', 1 if $@;
+skip 'OpenSSL ALPN support required', 1 unless $has_alpn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, alpn => 'h2');
 $sid = $s->new_stream({ path => '/scheme' });
@@ -186,8 +185,7 @@ is($frame->{data}, 'https', 'scheme vari
 # $https - SSL/TLS connection, NPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_npn() or die; };
-skip 'OpenSSL NPN support required', 1 if $@;
+skip 'OpenSSL NPN support required', 1 unless $has_npn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, npn => 'h2');
 $sid = $s->new_stream({ path => '/https' });
@@ -201,8 +199,7 @@ is($frame->{data}, 'on', 'https variable
 # $https - SSL/TLS connection, ALPN
 
 SKIP: {
-eval { IO::Socket::SSL->can_alpn() or die; };
-skip 'OpenSSL ALPN support required', 1 if $@;
+skip 'OpenSSL ALPN support required', 1 unless $has_alpn;
 
 $s = Test::Nginx::HTTP2->new(port(8080), SSL => 1, alpn => 'h2');
 $sid = $s->new_stream({ path => '/https' });