changeset 1937:2a0a6035a1af

Tests: removed TODO and try_run() checks for legacy versions.
author Sergey Kandaurov <pluknet@nginx.com>
date Fri, 25 Aug 2023 18:12:08 +0400
parents 716d7500317d
children e1059682aeef
files body_chunked.t dav.t grpc.t h2.t h2_absolute_redirect.t h2_headers.t h2_request_body_extra.t h2_ssl.t http_absolute_redirect.t http_host.t http_keepalive_shutdown.t http_method.t http_uri.t ignore_invalid_headers.t mail_imap.t mail_imap_ssl.t mail_max_errors.t mail_pop3.t mail_smtp.t mail_ssl.t mp4_start_key_frame.t proxy_ssl_certificate_empty.t proxy_ssl_certificate_vars.t ssi.t ssl_curve.t stream_proxy_half_close.t stream_proxy_ssl_certificate_vars.t stream_ssl_alpn.t uwsgi_ssl_certificate_vars.t
diffstat 29 files changed, 9 insertions(+), 192 deletions(-) [+]
line wrap: on
line diff
--- a/body_chunked.t
+++ b/body_chunked.t
@@ -178,22 +178,12 @@ like(http_transfer_encoding("chunked\nTr
 like(http_transfer_encoding('chunked, identity'), qr/501 Not Implemented/,
 	'transfer encoding list');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(http_transfer_encoding("chunked\nContent-Length: 5"), qr/400 Bad/,
 	'transfer encoding with content-length');
 
-}
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.2');
-
 like(http_transfer_encoding("chunked", "1.0"), qr/400 Bad/,
 	'transfer encoding in HTTP/1.0 requests');
 
-}
-
 ###############################################################################
 
 sub read_body_file {
--- a/dav.t
+++ b/dav.t
@@ -108,9 +108,6 @@ like($r, qr/201 Created.*(Content-Length
 is(-s $t->testdir() . '/file', 10,
 	'put file extra data size');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $r = http(<<EOF . '0123456789');
 PUT /file%20sp HTTP/1.1
 Host: localhost
@@ -121,8 +118,6 @@ EOF
 
 like($r, qr!Location: /file%20sp\x0d?$!ms, 'put file escaped');
 
-}
-
 # 201 replies contain body, response should indicate it's empty
 
 $r = http(<<EOF);
--- a/grpc.t
+++ b/grpc.t
@@ -503,17 +503,12 @@ is($frame->{headers}{':status'}, 502, 'i
 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
 is($frame->{headers}{':status'}, 502, 'invalid header name ctl');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 $f->{http_start}('/');
 $f->{data}('Hello');
 $frames = $f->{field_bad}(n => "n n");
 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
 is($frame->{headers}{':status'}, 502, 'invalid header name space');
 
-}
-
 $f->{http_start}('/');
 $f->{data}('Hello');
 $frames = $f->{field_bad}(v => "v\nv");
--- a/h2.t
+++ b/h2.t
@@ -304,9 +304,6 @@ is($frame, undef, 'HEAD - no body');
 
 # CONNECT
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 $s = Test::Nginx::HTTP2->new();
 $sid = $s->new_stream({ method => 'CONNECT' });
 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]);
@@ -314,8 +311,6 @@ local $TODO = 'not yet' unless $t->has_v
 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
 is($frame->{headers}->{':status'}, 405, 'CONNECT - not allowed');
 
-}
-
 # TRACE
 
 $s = Test::Nginx::HTTP2->new();
--- a/h2_absolute_redirect.t
+++ b/h2_absolute_redirect.t
@@ -121,32 +121,22 @@ like(get('on', '/dir'), qr!Location: htt
 like(get('on', '/i/dir'), qr!Location: http://on:$p/i/dir/\x0d?$!m,
 	'directory alias');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('on', '/dir%20sp'), qr!Location: http://on:$p/dir%20sp/\x0d?$!m,
 	'directory escaped');
 like(get('on', '/dir%20sp?a=b'),
 	qr!Location: http://on:$p/dir%20sp/\?a=b\x0d?$!m,
 	'directory escaped args');
 
-}
-
 like(get('on', '/auto'), qr!Location: http://on:$p/auto/\x0d?$!m, 'auto');
 like(get('on', '/auto?a=b'), qr!Location: http://on:$p/auto/\?a=b\x0d?$!m,
 	'auto args');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('on', '/auto%20sp'), qr!Location: http://on:$p/auto%20sp/\x0d?$!m,
 	'auto escaped');
 like(get('on', '/auto%20sp?a=b'),
 	qr!Location: http://on:$p/auto%20sp/\?a=b\x0d?$!m,
 	'auto escaped args');
 
-}
-
 like(get('on', '/return301'), qr!Location: http://on:$p/redirect\x0d?$!m,
 	'return');
 
@@ -163,30 +153,20 @@ like(get('host', '/return301/port'), qr!
 like(get('off', '/dir'), qr!Location: /dir/\x0d?$!m, 'off directory');
 like(get('off', '/i/dir'), qr!Location: /i/dir/\x0d?$!m, 'off directory alias');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('off', '/dir%20sp'), qr!Location: /dir%20sp/\x0d?$!m,
 	'off directory escaped');
 like(get('off', '/dir%20sp?a=b'), qr!Location: /dir%20sp/\?a=b\x0d?$!m,
 	'off directory escaped args');
 
-}
-
 like(get('off', '/auto'), qr!Location: /auto/\x0d?$!m, 'off auto');
 like(get('off', '/auto?a=b'), qr!Location: /auto/\?a=b\x0d?$!m,
 	'off auto args');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('off', '/auto%20sp'), qr!Location: /auto%20sp/\x0d?$!m,
 	'auto escaped');
 like(get('off', '/auto%20sp?a=b'), qr!Location: /auto%20sp/\?a=b\x0d?$!m,
 	'auto escaped args');
 
-}
-
 like(get('off', '/return301'), qr!Location: /redirect\x0d?$!m, 'off return');
 
 # per RFC 3986, these characters are not allowed unescaped:
@@ -196,17 +176,12 @@ like(get('off', '/return301'), qr!Locati
 SKIP: {
 skip 'win32', 1 if $^O eq 'MSWin32';
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(get('off', '/auto%20%22%23%25%3C%3E%3F%5C%5E%60%7B%7C%7D'),
 	qr!Location: /auto%20%22%23%25%3C%3E%3F%5C%5E%60%7B%7C%7D/\x0d?$!m,
 	'auto escaped strict');
 
 }
 
-}
-
 ###############################################################################
 
 sub get {
--- a/h2_headers.t
+++ b/h2_headers.t
@@ -1090,17 +1090,12 @@ is($frame->{headers}->{':status'}, 400, 
 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
 is($frame->{headers}->{':status'}, 400, 'invalid path');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 $sid = $s->new_stream({ path => "/t1.html\x02" });
 $frames = $s->read(all => [{ sid => $sid, fin => 1 }]);
 
 ($frame) = grep { $_->{type} eq "HEADERS" } @$frames;
 is($frame->{headers}->{':status'}, 400, 'invalid path control');
 
-}
-
 # ngx_http_v2_parse_int() error handling
 
 # NGX_ERROR
--- a/h2_request_body_extra.t
+++ b/h2_request_body_extra.t
@@ -87,7 +87,6 @@ http {
 
 EOF
 
-plan(skip_all => 'not yet') unless $t->has_version('1.21.2');
 $t->plan(50);
 
 # suppress deprecation warning
--- a/h2_ssl.t
+++ b/h2_ssl.t
@@ -94,15 +94,10 @@ skip 'OpenSSL too old', 1
 	if $t->has_module('OpenSSL')
 	and not $t->has_feature('openssl:1.1.0');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.4');
-
 ok(!get_ssl_socket(['unknown']), 'alpn rejected');
 
 }
 
-}
-
 like(http_get('/', socket => get_ssl_socket(['http/1.1'])),
 	qr/200 OK/, 'alpn to HTTP/1.1 fallback');
 
--- a/http_absolute_redirect.t
+++ b/http_absolute_redirect.t
@@ -116,32 +116,22 @@ like(get('on', '/dir'), qr!Location: htt
 like(get('on', '/i/dir'), qr!Location: http://on:$p/i/dir/\x0d?$!m,
 	'directory alias');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('on', '/dir%20sp'), qr!Location: http://on:$p/dir%20sp/\x0d?$!m,
 	'directory escaped');
 like(get('on', '/dir%20sp?a=b'),
 	qr!Location: http://on:$p/dir%20sp/\?a=b\x0d?$!m,
 	'directory escaped args');
 
-}
-
 like(get('on', '/auto'), qr!Location: http://on:$p/auto/\x0d?$!m, 'auto');
 like(get('on', '/auto?a=b'), qr!Location: http://on:$p/auto/\?a=b\x0d?$!m,
 	'auto args');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('on', '/auto%20sp'), qr!Location: http://on:$p/auto%20sp/\x0d?$!m,
 	'auto escaped');
 like(get('on', '/auto%20sp?a=b'),
 	qr!Location: http://on:$p/auto%20sp/\?a=b\x0d?$!m,
 	'auto escaped args');
 
-}
-
 like(get('on', '/return301'), qr!Location: http://on:$p/redirect\x0d?$!m,
 	'return');
 
@@ -158,30 +148,20 @@ like(get('host', '/return301/port'), qr!
 like(get('off', '/dir'), qr!Location: /dir/\x0d?$!m, 'off directory');
 like(get('off', '/i/dir'), qr!Location: /i/dir/\x0d?$!m, 'off directory alias');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('off', '/dir%20sp'), qr!Location: /dir%20sp/\x0d?$!m,
 	'off directory escaped');
 like(get('off', '/dir%20sp?a=b'), qr!Location: /dir%20sp/\?a=b\x0d?$!m,
 	'off directory escaped args');
 
-}
-
 like(get('off', '/auto'), qr!Location: /auto/\x0d?$!m, 'off auto');
 like(get('off', '/auto?a=b'), qr!Location: /auto/\?a=b\x0d?$!m,
 	'off auto args');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 like(get('off', '/auto%20sp'), qr!Location: /auto%20sp/\x0d?$!m,
 	'auto escaped');
 like(get('off', '/auto%20sp?a=b'), qr!Location: /auto%20sp/\?a=b\x0d?$!m,
 	'auto escaped args');
 
-}
-
 like(get('off', '/return301'), qr!Location: /redirect\x0d?$!m, 'off return');
 
 # per RFC 3986, these characters are not allowed unescaped:
@@ -191,17 +171,12 @@ like(get('off', '/return301'), qr!Locati
 SKIP: {
 skip 'win32', 1 if $^O eq 'MSWin32';
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(get('off', '/auto%20%22%23%25%3C%3E%3F%5C%5E%60%7B%7C%7D'),
 	qr!Location: /auto%20%22%23%25%3C%3E%3F%5C%5E%60%7B%7C%7D/\x0d?$!m,
 	'auto escaped strict');
 
 }
 
-}
-
 ###############################################################################
 
 sub get {
--- a/http_host.t
+++ b/http_host.t
@@ -170,14 +170,8 @@ is(http_host_header('123.40.56.78:9000:8
 	'double port hack');
 
 like(http_host_header("localhost\nHost: again", 1), qr/ 400 /, 'host repeat');
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(http_host_header("localhost\x02", 1), qr/ 400 /, 'control');
 
-}
-
 ###############################################################################
 
 sub http_host_header {
--- a/http_keepalive_shutdown.t
+++ b/http_keepalive_shutdown.t
@@ -55,8 +55,6 @@ EOF
 
 ###############################################################################
 
-local $TODO = 'not yet' unless $t->has_version('1.21.6');
-
 # signaling on graceful shutdown to client that keepalive connection is closing
 
 my $s = http(<<EOF, start => 1);
--- a/http_method.t
+++ b/http_method.t
@@ -59,9 +59,6 @@ Connection: close
 
 EOF
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(http(<<EOF), qr/405 Not Allowed(?!.*200 OK)/s, 'connect');
 CONNECT / HTTP/1.1
 Host: localhost
@@ -72,6 +69,4 @@ Connection: close
 
 EOF
 
-}
-
 ###############################################################################
--- a/http_uri.t
+++ b/http_uri.t
@@ -76,20 +76,9 @@ like(http_get('http://localhost:8080?arg
 like(http_get('http://localhost:8080?args#frag'), qr!x / x.*y args y!ms,
 	'port args and frag');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(http_get('/ /'), qr/400 Bad/, 'space');
-
-}
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(http_get("/\x02"), qr/400 Bad/, 'control');
 
-}
-
 like(http_get('/%02'), qr!x /\x02 x!, 'control escaped');
 
 ###############################################################################
--- a/ignore_invalid_headers.t
+++ b/ignore_invalid_headers.t
@@ -125,15 +125,10 @@ my $bad4 = 'GET / HTTP/1.0' . CRLF
 my $bad5 = 'GET / HTTP/1.0' . CRLF
 	. "foo\x02: x-bar" . CRLF . CRLF;
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.1');
-
 like(http($bad3), qr/400 Bad/, 'colon first');
 like(http($bad4), qr/400 Bad/, 'space');
 like(http($bad5), qr/400 Bad/, 'control');
 
-}
-
 ###############################################################################
 
 sub get {
--- a/mail_imap.t
+++ b/mail_imap.t
@@ -223,14 +223,8 @@ my $s = Test::Nginx::IMAP->new();
 
 $s->send('a01 LOGIN {18+}' . CRLF
 	. 'te\"st@example.com' . ' "se\\\\\"cret"');
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $s->ok('backslash in literal');
 
-}
-
 # pipelining
 
 $s = Test::Nginx::IMAP->new();
@@ -239,23 +233,14 @@ local $TODO = 'not yet' unless $t->has_v
 $s->send('a01 INVALID COMMAND WITH ARGUMENTS' . CRLF
 	. 'a02 NOOP');
 $s->check(qr/^a01 BAD/, 'pipelined invalid command');
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $s->ok('pipelined noop after invalid command');
 
-}
-
 $s->send('a03 FOOBAR {10+}' . CRLF
 	. 'test test ' . CRLF
 	. 'a04 NOOP');
 $s->check(qr/^a03 BAD/, 'invalid with non-sync literal');
 $s->check(qr/^(a04 |$)/, 'literal not command');
 
-TODO: {
-todo_skip('not yet', 2) unless $t->has_version('1.21.0');
-
 # skipped without a fix, since with level-triggered event methods
 # this hogs cpu till the connection is closed by the backend server,
 # and generates a lot of debug logs
@@ -268,6 +253,4 @@ todo_skip('not yet', 2) unless $t->has_v
 $s->ok('pipelined login');
 $s->ok('pipelined logout');
 
-}
-
 ###############################################################################
--- a/mail_imap_ssl.t
+++ b/mail_imap_ssl.t
@@ -228,12 +228,7 @@ like($f, qr!^on:SUCCESS:(/?CN=2.example.
 like($f, qr!^on:SUCCESS:(/?CN=3.example.com):\1:\w+:\w+:[^:]+:s5$!m,
 	'log - trusted cert');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.2');
-
 $f = $t->read_file('auth2.log');
 like($f, qr|^$cipher:$sslversion$|m, 'log - cipher sslversion');
 
-}
-
 ###############################################################################
--- a/mail_max_errors.t
+++ b/mail_max_errors.t
@@ -61,7 +61,7 @@ mail {
 
 EOF
 
-$t->try_run('no max_errors')->plan(18);
+$t->run()->plan(18);
 
 ###############################################################################
 
--- a/mail_pop3.t
+++ b/mail_pop3.t
@@ -202,27 +202,15 @@ is(get_auth_caps($s), 'PLAIN:LOGIN:CRAM-
 $s->send('INVALID COMMAND WITH ARGUMENTS' . CRLF
 	. 'NOOP');
 $s->check(qr/^-ERR/, 'pipelined invalid command');
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $s->ok('pipelined noop after invalid command');
 
-}
-
 $s->send('USER test@example.com' . CRLF
 	. 'PASS secret' . CRLF
 	. 'QUIT');
 $s->ok('pipelined user');
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $s->ok('pipelined pass');
 $s->ok('pipelined quit');
 
-}
-
 $s = Test::Nginx::POP3->new();
 $s->read();
 
@@ -230,15 +218,9 @@ local $TODO = 'not yet' unless $t->has_v
 	. encode_base64('test@example.com', '') . CRLF
 	. encode_base64('secret', ''));
 $s->check(qr/\+ VXNlcm5hbWU6/, 'pipelined auth username challenge');
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $s->check(qr/\+ UGFzc3dvcmQ6/, 'pipelined auth password challenge');
 $s->ok('pipelined auth');
 
-}
-
 ###############################################################################
 
 sub get_auth_caps {
--- a/mail_smtp.t
+++ b/mail_smtp.t
@@ -258,16 +258,9 @@ my $s = Test::Nginx::SMTP->new();
 $s->print('MAIL FROM:<test@example.com> SIZE=100' . CRLF
 	. 'RCPT TO:<test@example.com>' . CRLF
 	. 'RS');
-
 $s->ok('split pipelined mail from');
-
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $s->ok('split pipelined rcpt to');
 
-}
-
 $s->send('ET');
 $s->ok('split pipelined rset');
 
@@ -284,10 +277,6 @@ local $TODO = 'not yet' unless $t->has_v
 	. 'RCPT TO:<baz@example.com>' . CRLF
 	. 'RCPT TO:<foobar@example.com>' . CRLF
 	. 'RSET');
-
-TODO: {
-todo_skip 'long pipelined - not yet', 6 unless $t->has_version('1.21.0');
-
 $s->ok('long pipelined mail from');
 $s->ok('long pipelined rcpt to');
 $s->ok('long pipelined rcpt to 2');
@@ -295,8 +284,6 @@ todo_skip 'long pipelined - not yet', 6 
 $s->ok('long pipelined rcpt to 4');
 $s->ok('long pipelined rset');
 
-}
-
 # Connection must stay even if error returned to rcpt to command
 
 $s = Test::Nginx::SMTP->new();
@@ -333,12 +320,7 @@ select undef, undef, undef, 0.1;
 $s->send('AR');
 $s->check(qr/^5.. /, 'invalid split command');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.0');
-
 $s->send('HELO example.com');
 $s->ok('good after invalid split command');
 
-}
-
 ###############################################################################
--- a/mail_ssl.t
+++ b/mail_ssl.t
@@ -174,9 +174,6 @@ skip 'no ALPN support in IO::Socket::SSL
 );
 $s->ok('alpn');
 
-TODO: {
-local $TODO = 'not yet' unless $t->has_version('1.21.4');
-
 $s = Test::Nginx::IMAP->new(
 	PeerAddr => '127.0.0.1:' . port(8148),
 	SSL => 1,
@@ -186,8 +183,6 @@ ok(!$s->read(), 'alpn rejected');
 
 }
 
-}
-
 # starttls imap
 
 $s = Test::Nginx::IMAP->new(PeerAddr => '127.0.0.1:' . port(8149));
--- a/mp4_start_key_frame.t
+++ b/mp4_start_key_frame.t
@@ -61,7 +61,7 @@ system('ffmpeg -nostdin -loglevel quiet 
 	. '-pix_fmt yuv420p -g 15 -c:v libx264 '
 	. "${\($t->testdir())}/test.mp4") == 0
 	or die "Can't create mp4 file: $!";
-$t->try_run('no mp4_start_key_frame')->plan(4);
+$t->run()->plan(4);
 
 ###############################################################################
 
--- a/proxy_ssl_certificate_empty.t
+++ b/proxy_ssl_certificate_empty.t
@@ -98,7 +98,7 @@ sleep 1 if $^O eq 'MSWin32';
 
 $t->write_file('index.html', '');
 
-$t->try_run('no empty value support')->plan(2);
+$t->run()->plan(2);
 
 ###############################################################################
 
--- a/proxy_ssl_certificate_vars.t
+++ b/proxy_ssl_certificate_vars.t
@@ -132,7 +132,7 @@ sleep 1 if $^O eq 'MSWin32';
 $t->write_file('password', '3.example.com');
 $t->write_file('index.html', '');
 
-$t->try_run('no upstream ssl_certificate variables')->plan(4);
+$t->run()->plan(4);
 
 ###############################################################################
 
--- a/ssi.t
+++ b/ssi.t
@@ -148,14 +148,9 @@ like(http_get('/test3.html'), qr/^XtestX
 like(http_get('/test4-echo-none.html'), qr/^X<test>X$/m,
 	'echo encoding none');
 
-TODO: {
-local $TODO = 'no strict URI escaping yet' unless $t->has_version('1.21.1');
-
 like(http_get('/test5-echo-url.html'), qr/^X%3Ctest%3EX$/m,
 	'echo encoding url');
 
-}
-
 like(http_get('/test6-echo-entity.html'), qr/^X&lt;test&gt;X$/m,
 	'echo encoding entity');
 
--- a/ssl_curve.t
+++ b/ssl_curve.t
@@ -71,7 +71,7 @@ foreach my $name ('localhost') {
 		or die "Can't create certificate for $name: $!\n";
 }
 
-$t->try_run('no $ssl_curve')->plan(1);
+$t->run()->plan(1);
 
 ###############################################################################
 
--- a/stream_proxy_half_close.t
+++ b/stream_proxy_half_close.t
@@ -48,7 +48,7 @@ stream {
 
 EOF
 
-$t->try_run('no proxy_half_close')->plan(2);
+$t->run()->plan(2);
 
 ###############################################################################
 
--- a/stream_proxy_ssl_certificate_vars.t
+++ b/stream_proxy_ssl_certificate_vars.t
@@ -146,7 +146,7 @@ sleep 1 if $^O eq 'MSWin32';
 $t->write_file('password', '3.example.com');
 $t->write_file('index.html', '');
 
-$t->try_run('no upstream ssl_certificate variables')->plan(4);
+$t->run()->plan(4);
 
 ###############################################################################
 
--- a/stream_ssl_alpn.t
+++ b/stream_ssl_alpn.t
@@ -71,7 +71,7 @@ foreach my $name ('localhost') {
 		or die "Can't create certificate for $name: $!\n";
 }
 
-$t->try_run('no ssl_alpn')->plan(6);
+$t->run()->plan(6);
 
 ###############################################################################
 
--- a/uwsgi_ssl_certificate_vars.t
+++ b/uwsgi_ssl_certificate_vars.t
@@ -130,7 +130,7 @@ sleep 1 if $^O eq 'MSWin32';
 $t->write_file('password', '3.example.com');
 $t->write_file('index.html', '');
 
-$t->try_run('no upstream ssl_certificate variables')->plan(4);
+$t->run()->plan(4);
 
 ###############################################################################