# HG changeset patch # User Maxim Dounin # Date 1717515481 -10800 # Node ID a095b971fbcc99a77206173f6130d5ff2681c389 # Parent 11463d3795703442f320ef21a58733e74408cd7c Tests: removed TODO and try_run() checks for legacy versions. For h2_http2.t, try_run() is preserved to ensure that deprecation warnings for "listen ... http2" are suppressed, yet plan() is reported before try_run(), so failure to start will be properly reported. diff --git a/auth_request.t b/auth_request.t --- a/auth_request.t +++ b/auth_request.t @@ -203,14 +203,9 @@ like(http_post_big('/proxy-double'), qr/ # Multiple WWW-Authenticate headers (ticket #485). -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(http_get('/proxy-multi-auth'), qr/WWW-Authenticate: foo.*bar/s, 'multiple www-authenticate headers'); -} - SKIP: { eval { require FCGI; }; skip 'FCGI not installed', 2 if $@; diff --git a/autoindex_win32.t b/autoindex_win32.t --- a/autoindex_win32.t +++ b/autoindex_win32.t @@ -76,9 +76,6 @@ my $r = http_get('/'); like($r, qr!href="test-file"!ms, 'file'); like($r, qr!href="test-dir/"!ms, 'directory'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.4'); - like($r, qr!href="test-file-(%d0%bc%d0%b8){3}"!msi, 'utf file link'); like($r, qr!test-file-(\xd0\xbc\xd0\xb8){3}!ms, 'utf file name'); @@ -92,8 +89,6 @@ like($r, qr!Index of /test-dir-(\xd0\xbc like($r, qr!href="test-subfile-(%d0%bc%d0%b8){3}"!msi, 'utf subdir link'); like($r, qr!test-subfile-(\xd0\xbc\xd0\xb8){3}!msi, 'utf subdir name'); -} - ############################################################################### sub win32_mkdir { diff --git a/body_chunked.t b/body_chunked.t --- a/body_chunked.t +++ b/body_chunked.t @@ -179,9 +179,6 @@ like( qr/ 200 /, 'chunk extensions' ); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.5'); - like( http( 'GET /large HTTP/1.1' . CRLF @@ -194,8 +191,6 @@ like( qr/ 413 /, 'too many chunk extensions' ); -} - like( http( 'GET /large HTTP/1.1' . CRLF @@ -208,9 +203,6 @@ like( qr/ 200 /, 'trailers' ); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.5'); - like( http( 'GET /large HTTP/1.1' . CRLF @@ -223,8 +215,6 @@ like( qr/ 413 /, 'too many trailers' ); -} - # proxy_next_upstream like(http_get_body('/next', '0123456789'), diff --git a/dav_utf8.t b/dav_utf8.t --- a/dav_utf8.t +++ b/dav_utf8.t @@ -57,8 +57,6 @@ EOF ############################################################################### -local $TODO = 'not yet' if $^O eq 'MSWin32' and !$t->has_version('1.23.4'); - my $d = $t->testdir(); my $r; diff --git a/fastcgi_header_params.t b/fastcgi_header_params.t --- a/fastcgi_header_params.t +++ b/fastcgi_header_params.t @@ -59,9 +59,6 @@ EOF like(http_get_headers('/'), qr/SEE-THIS/, 'fastcgi request with many ignored headers'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - my $r; $r = http(<{headers}->{':status'}, 200, # invalid connection preface -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.1'); - like(http('x' x 16), qr/400 Bad Request/, 'invalid preface'); like(http('PRI * HTTP/2.0' . CRLF . CRLF . 'x' x 8), qr/400 Bad Request/, 'invalid preface 2'); -} - # GOAWAY on SYN_STREAM with even StreamID $s = Test::Nginx::HTTP2->new(); diff --git a/h2_error_page.t b/h2_error_page.t --- a/h2_error_page.t +++ b/h2_error_page.t @@ -85,19 +85,13 @@ my $s2 = Test::Nginx::HTTP2->new(); $sid = $s2->new_stream({ method => 'foo' }); $frames = $s2->read(all => [{ type => 'RST_STREAM' }]); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.4'); - ($frame) = grep { $_->{type} eq "RST_STREAM" } @$frames; is($frame->{sid}, $sid, 'error 400 return 444 - invalid header'); -} - # while keeping $s1 and $s2, stop nginx; this should result in # "open socket ... left in connection ..." alerts if any of these # sockets are still open $t->stop(); -$t->todo_alerts() unless $t->has_version('1.23.4'); ############################################################################### diff --git a/h2_headers.t b/h2_headers.t --- a/h2_headers.t +++ b/h2_headers.t @@ -959,13 +959,8 @@ ok($frame, 'HPACK table boundary - heade ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; isnt($frame->{headers}->{'x-referer'}, 'see-this', 'newline in request header'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.4'); - -is($frame->{headers}->{':status'}, 400, 'newline in request header - bad request'); - -} +is($frame->{headers}->{':status'}, 400, + 'newline in request header - bad request'); # invalid header name as seen with underscore should not lead to ignoring rest @@ -984,9 +979,6 @@ is($frame->{headers}->{'x-referer'}, 'se # other invalid header name characters as seen with ':' -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.4'); - $s = Test::Nginx::HTTP2->new(); $sid = $s->new_stream({ headers => [ { name => ':method', value => 'GET', mode => 0 }, @@ -1024,8 +1016,6 @@ is($frame->{headers}->{':status'}, 400, ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 400, 'control in header name'); -} - # header name with underscore - underscores_in_headers on $s = Test::Nginx::HTTP2->new(port(8086)); diff --git a/h2_http2.t b/h2_http2.t --- a/h2_http2.t +++ b/h2_http2.t @@ -24,7 +24,8 @@ select STDERR; $| = 1; select STDOUT; $| = 1; my $t = Test::Nginx->new()->has(qw/http http_ssl http_v2 socket_ssl_alpn/) - ->has_daemon('openssl'); + ->has_daemon('openssl') + ->plan(11); $t->write_file_expand('nginx.conf', <<'EOF'); @@ -108,7 +109,7 @@ foreach my $name ('localhost') { } $t->write_file('index.html', ''); -$t->try_run('no http2')->plan(11); +$t->try_run(); ############################################################################### diff --git a/h2_proxy_protocol.t b/h2_proxy_protocol.t --- a/h2_proxy_protocol.t +++ b/h2_proxy_protocol.t @@ -71,12 +71,7 @@ is($frame->{headers}->{'x-pp'}, '192.0.2 # invalid PROXY protocol string -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.1'); - $proxy = 'BOGUS TCP4 192.0.2.1 192.0.2.2 1234 5678' . CRLF; ok(!http($proxy), 'PROXY invalid protocol'); -} - ############################################################################### diff --git a/http_headers_multi.t b/http_headers_multi.t --- a/http_headers_multi.t +++ b/http_headers_multi.t @@ -144,15 +144,9 @@ like(get('/', map { "X-Forwarded-For: $_ qr/X-Forwarded-For: foo, bar, bazz/, 'multi $http_x_forwarded_for'); like(get('/', 'Cookie: foo=1', 'Cookie: bar=2', 'Cookie: bazz=3'), qr/X-Cookie: foo=1; bar=2; bazz=3/, 'multi $http_cookie'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/', 'Foo: foo', 'Foo: bar', 'Foo: bazz'), qr/X-Foo: foo, bar, bazz/, 'multi $http_foo'); -} - # request cookies, $cookie_* my $r = get('/', 'Cookie: foo=1', 'Cookie: bar=2', 'Cookie: bazz=3'); @@ -167,27 +161,16 @@ like($r, qr/X-Cookie-Bazz: 3/, '$cookie_ like($r, qr/X-Sent-CC: foo, bar, bazz/, 'multi $sent_http_cache_control'); like($r, qr/X-Sent-Link: foo, bar, bazz/, 'multi $sent_http_link'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like($r, qr/X-Sent-Foo: foo, bar, bazz/, 'multi $sent_http_foo'); -} - # upstream response headers, $upstream_http_* $r = get('/u'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like($r, qr/X-Upstream-Set-Cookie: foo=1, bar=2, bazz=3/, 'multi $upstream_http_set_cookie'); like($r, qr/X-Upstream-Bar: foo, bar, bazz/, 'multi $upstream_http_bar'); -} - # upstream response cookies, $upstream_cookie_* like($r, qr/X-Upstream-Cookie-Foo: 1/, '$upstream_cookie_foo'); @@ -196,14 +179,9 @@ like($r, qr/X-Upstream-Cookie-Bazz: 3/, # response trailers, $sent_trailer_* -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/t'), qr/X-Sent-Trailer-Foo: foo, bar, bazz/, 'multi $sent_trailer_foo'); -} - # various variables for request headers: # # $http_host, $http_user_agent, $http_referer @@ -216,19 +194,12 @@ like(get('/t'), qr/X-Sent-Trailer-Foo: f like(get('/v'), qr/X-HTTP-Host: localhost/, '$http_host'); like(get('/v', 'Host: foo', 'Host: bar'), qr/400 Bad/, 'duplicate host rejected'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/v', 'User-Agent: foo', 'User-Agent: bar'), qr/X-User-Agent: foo, bar/, 'multi $http_user_agent (invalid)'); like(get('/v', 'Referer: foo', 'Referer: bar'), qr/X-Referer: foo, bar/, 'multi $http_referer (invalid)'); like(get('/v', 'Via: foo', 'Via: bar', 'Via: bazz'), qr/X-Via: foo, bar, bazz/, 'multi $http_via'); - -} - like(get('/v', 'Cookie: foo', 'Cookie: bar', 'Cookie: bazz'), qr/X-Cookie: foo; bar; bazz/, 'multi $http_cookie'); like(get('/v', 'X-Forwarded-For: foo', 'X-Forwarded-For: bar', @@ -246,15 +217,9 @@ like(get('/v', 'Content-Length: 0', 'Con like(get('/v', 'Content-Type: foo'), qr/X-Content-Type: foo/, '$content_type'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/v', 'Content-Type: foo', 'Content-Type: bar'), qr/X-Content-Type: foo, bar/, 'multi $content_type (invalid)'); -} - like(http("GET /v HTTP/1.0" . CRLF . CRLF), qr/X-Host: localhost/, '$host from server_name'); like(http("GET /v HTTP/1.0" . CRLF . "Host: foo" . CRLF . CRLF), diff --git a/http_request.t b/http_request.t --- a/http_request.t +++ b/http_request.t @@ -91,10 +91,6 @@ like(http(CRLF . "GET / HTTP/1.0" . CRLF 'empty line ignored'); like(http(LF . "GET / HTTP/1.0" . CRLF . CRLF), qr/ 200 /, 'empty line with just LF ignored'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.5'); - like(http(CR . "GET / HTTP/1.0" . CRLF . CRLF), qr/ 400 /, 'empty line with just CR rejected'); like(http(CRLF . CRLF . "GET / HTTP/1.0" . CRLF . CRLF), qr/ 400 /, @@ -104,8 +100,6 @@ like(http(LF . LF . "GET / HTTP/1.0" . C like(http(CR . CR . "GET / HTTP/1.0" . CRLF . CRLF), qr/ 400 /, 'multiple CRs rejected'); -} - # method like(http("FOO / HTTP/1.0" . CRLF . CRLF), qr/ 200 /, 'method'); diff --git a/image_filter_finalize.t b/image_filter_finalize.t --- a/image_filter_finalize.t +++ b/image_filter_finalize.t @@ -142,10 +142,4 @@ http_get('/slow'); http_get('/t3'); like(http_get('/time.log'), qr!/t3:.*, [1-9]\.!, 'upstream response time'); -# "aio_write" is used to produce the following alert on some platforms: -# "readv() failed (9: Bad file descriptor) while reading upstream" - -$t->todo_alerts() if $t->read_file('nginx.conf') =~ /aio_write on/ - and $t->read_file('nginx.conf') =~ /aio threads/; - ############################################################################### diff --git a/mail_max_commands.t b/mail_max_commands.t --- a/mail_max_commands.t +++ b/mail_max_commands.t @@ -60,7 +60,7 @@ mail { EOF -$t->try_run('no max_commands')->plan(18); +$t->run()->plan(18); ############################################################################### diff --git a/mail_smtp.t b/mail_smtp.t --- a/mail_smtp.t +++ b/mail_smtp.t @@ -297,15 +297,9 @@ my $s = Test::Nginx::SMTP->new(); . 'RSET'); $s->read(); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.5'); - $s->ok('pipelined long rcpt to'); $s->ok('pipelined long rset'); -} - # Connection must stay even if error returned to rcpt to command $s = Test::Nginx::SMTP->new(); diff --git a/perl.t b/perl.t --- a/perl.t +++ b/perl.t @@ -153,9 +153,6 @@ like(http( . 'Host: localhost' . CRLF . CRLF ), qr/xfoo: foo/, 'perl header_in unknown'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(http( 'GET / HTTP/1.0' . CRLF . 'X-Foo: foo' . CRLF @@ -163,8 +160,6 @@ like(http( . 'Host: localhost' . CRLF . CRLF ), qr/xfoo: foo, bar/, 'perl header_in unknown2'); -} - like(http( 'GET / HTTP/1.0' . CRLF . 'Cookie: foo' . CRLF @@ -191,9 +186,6 @@ like(http( . 'Host: localhost' . CRLF . CRLF ), qr/xff: foo1, foo2/, 'perl header_in xff2'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(http( 'GET / HTTP/1.0' . CRLF . 'Connection: close' . CRLF @@ -207,8 +199,6 @@ like(http( . 'Host: localhost' . CRLF . CRLF ), qr/connection: close, foo/, 'perl header_in connection2'); -} - # headers_out content-length tests with range filter like(http_get('/range'), qr/Content-Length: 42.*^x{42}$/ms, diff --git a/proxy_available.t b/proxy_available.t --- a/proxy_available.t +++ b/proxy_available.t @@ -76,13 +76,8 @@ IO::Select->new($s)->can_read(3); $t->reload(); -TODO: { -local $TODO = 'not yet' if $^O eq 'linux' and !$t->has_version('1.23.1'); - like(http_end($s), qr/AND-THIS/, 'zero available - buffered'); -} - $s = http_get('/unbuffered', start => 1); IO::Select->new($s)->can_read(3); @@ -90,8 +85,6 @@ IO::Select->new($s)->can_read(3); like(http_end($s), qr/AND-THIS/, 'zero available - unbuffered'); -$t->todo_alerts() if $^O eq 'linux' and !$t->has_version('1.23.1'); - ############################################################################### sub http_daemon { diff --git a/proxy_cache_control.t b/proxy_cache_control.t --- a/proxy_cache_control.t +++ b/proxy_cache_control.t @@ -194,15 +194,10 @@ like(get('/cache-control'), qr/HIT/, 'ca like(get('/x-accel-expires'), qr/HIT/, 'x-accel-expires'); like(get('/x-accel-expires-at'), qr/EXPIRED/, 'x-accel-expires at'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - # the second header to disable cache is duplicate and ignored like(get('/x-accel-expires-duplicate'), qr/HIT/, 'x-accel-expires duplicate'); -} - # with cache headers ignored, the response will be fresh like(get('/ignore'), qr/MISS/, 'cache headers ignored'); @@ -211,15 +206,8 @@ like(get('/ignore'), qr/MISS/, 'cache he like(get('/cache-control-before-expires'), qr/HIT/, 'cache-control before expires'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/cache-control-after-expires'), qr/HIT/, 'cache-control after expires'); - -} - like(get('/cache-control-no-cache-before-expires'), qr/MISS/, 'cache-control no-cache before expires'); like(get('/cache-control-no-cache-after-expires'), qr/MISS/, @@ -228,14 +216,7 @@ like(get('/cache-control-no-cache-after- # X-Accel-Expires is preferred over both Cache-Control and Expires like(get('/x-accel-expires-before'), qr/HIT/, 'x-accel-expires before'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/x-accel-expires-after'), qr/HIT/, 'x-accel-expires after'); - -} - like(get('/x-accel-expires-0-before'), qr/MISS/, 'x-accel-expires 0 before'); like(get('/x-accel-expires-0-after'), qr/MISS/, 'x-accel-expires 0 after'); @@ -250,15 +231,9 @@ like(get('/cache-control-no-cache-multi' like(get('/extension-before-x-accel-expires'), qr/STALE/, 'cache-control extensions before x-accel-expires'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/extension-after-x-accel-expires'), qr/STALE/, 'cache-control extensions after x-accel-expires'); -} - # Set-Cookie is considered when caching with Cache-Control like(get('/set-cookie'), qr/MISS/, 'set-cookie not cached'); diff --git a/proxy_cache_use_stale.t b/proxy_cache_use_stale.t --- a/proxy_cache_use_stale.t +++ b/proxy_cache_use_stale.t @@ -247,11 +247,6 @@ like($r, qr/STALE.*^(SEE-THIS){1024}$/ms $r = read_all(http_get('/ssi.html', start => 1)); like($r, qr/^xxx (SEE-THIS){1024} xxx$/ms, 's-w-r - not blocked in subrequest'); -# "aio_write" is used to produce "open socket ... left in connection" alerts. - -$t->todo_alerts() if $t->read_file('nginx.conf') =~ /aio_write on/ - and $t->read_file('nginx.conf') =~ /aio threads/ and $^O eq 'freebsd'; - # due to the missing content_handler inheritance in a cloned subrequest, # this used to access a static file in the update request diff --git a/proxy_cache_vary.t b/proxy_cache_vary.t --- a/proxy_cache_vary.t +++ b/proxy_cache_vary.t @@ -266,14 +266,8 @@ like(get('/', 'bar,foo'), qr/HIT/ms, 'no like(get('/multi', 'foo'), qr/MISS/ms, 'multi first'); like(get('/multi', 'foo'), qr/HIT/ms, 'multi second'); - -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(get('/multi', 'bar'), qr/MISS/ms, 'multi other'); -} - # keep c->body_start when Vary changes (ticket #2029) # before 1.19.3, this prevented updating c->body_start of a main key diff --git a/proxy_duplicate_headers.t b/proxy_duplicate_headers.t --- a/proxy_duplicate_headers.t +++ b/proxy_duplicate_headers.t @@ -57,9 +57,6 @@ EOF like(http_get('/'), qr/200 OK/, 'normal'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(http_get('/invalid-length'), qr/502 Bad/, 'invalid length'); like(http_get('/duplicate-length'), qr/502 Bad/, 'duplicate length'); like(http_get('/unknown-transfer-encoding'), qr/502 Bad/, @@ -74,8 +71,6 @@ like(http_get('/transfer-encoding-and-le like(http_get('/duplicate-expires'), qr/Expires: foo(?!.*bar)/s, 'duplicate expires ignored'); -} - ############################################################################### sub http_daemon { diff --git a/proxy_intercept_errors.t b/proxy_intercept_errors.t --- a/proxy_intercept_errors.t +++ b/proxy_intercept_errors.t @@ -94,12 +94,7 @@ like(http_get('/auth'), qr/401.*WWW-Auth # make sure multiple WWW-Authenticate headers are returned # along with intercepted response (ticket #485) -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - like(http_get('/auth-multi'), qr/401.*WWW-Authenticate: foo.*bar.*intercept/s, 'intercepted 401 multi'); -} - ############################################################################### diff --git a/proxy_protocol2_tlv.t b/proxy_protocol2_tlv.t --- a/proxy_protocol2_tlv.t +++ b/proxy_protocol2_tlv.t @@ -23,7 +23,7 @@ use Test::Nginx; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/http map/) +my $t = Test::Nginx->new()->has(qw/http map/)->plan(14) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -80,7 +80,7 @@ http { EOF $t->write_file('t1', 'SEE-THIS'); -$t->try_run('no proxy_protocol tlv')->plan(14); +$t->run(); ############################################################################### diff --git a/quic_retry.t b/quic_retry.t --- a/quic_retry.t +++ b/quic_retry.t @@ -110,9 +110,6 @@ is($frame->{error}, 11, 'retry token inv # connection with retry token, corrupted -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.2'); - substr($retry_token, 32) ^= "\xff"; $s = Test::Nginx::HTTP3->new(8980, token => $retry_token, probe => 1); $frames = $s->read(all => [{ type => 'CONNECTION_CLOSE' }]); @@ -120,16 +117,11 @@ substr($retry_token, 32) ^= "\xff"; ($frame) = grep { $_->{type} eq "CONNECTION_CLOSE" } @$frames; is($frame->{error}, 11, 'retry token decrypt error'); -} - # resending client Initial packets after receiving a Retry packet # to simulate server Initial packet loss triggering its retransmit, # used to create extra nginx connections before 8f7e6d8c061e, # caught by CRYPTO stream mismatch among server Initial packets -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.25.3'); - $s = new_connection_resend(); $sid = $s->new_stream(); @@ -141,8 +133,6 @@ eval { ($frame) = grep { $_->{type} eq "HEADERS" } @$frames; is($frame->{headers}->{':status'}, 403, 'resend initial'); -} - ############################################################################### # expanded handshake version to send repetitive Initial packets diff --git a/range_clearing.t b/range_clearing.t --- a/range_clearing.t +++ b/range_clearing.t @@ -62,8 +62,6 @@ EOF ############################################################################### -local $TODO = 'not yet' unless $t->has_version('1.23.1'); - like(http_get_range('/', 'Range: bytes=0-4'), qr/ 206 (?!.*stub)/s, 'content range cleared - range request'); like(http_get_range('/', 'Range: bytes=0-2,4-'), diff --git a/scgi.t b/scgi.t --- a/scgi.t +++ b/scgi.t @@ -81,9 +81,6 @@ like(http_get('/var?b=127.0.0.1:' . port 'scgi with variables'); like(http_get('/var?b=u'), qr/SEE-THIS/, 'scgi with variables to upstream'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - my $r = http(<has_version('1.23.2'); local $TODO = 'no SSL_session_key, old IO::Socket::SSL' if $IO::Socket::SSL::VERSION < 1.965; diff --git a/ssl_session_ticket_key.t b/ssl_session_ticket_key.t --- a/ssl_session_ticket_key.t +++ b/ssl_session_ticket_key.t @@ -90,8 +90,6 @@ foreach my $name ('localhost') { # # with a single worker process it is only the 2nd test that fails -local $TODO = 'not yet' unless $t->has_version('1.23.2'); - my $key = get_ticket_key_name(); select undef, undef, undef, 0.5; diff --git a/stream_proxy_protocol2_tlv.t b/stream_proxy_protocol2_tlv.t --- a/stream_proxy_protocol2_tlv.t +++ b/stream_proxy_protocol2_tlv.t @@ -24,7 +24,7 @@ use Test::Nginx::Stream qw/ stream /; select STDERR; $| = 1; select STDOUT; $| = 1; -my $t = Test::Nginx->new()->has(qw/stream stream_return map/) +my $t = Test::Nginx->new()->has(qw/stream stream_return map/)->plan(14) ->write_file_expand('nginx.conf', <<'EOF'); %%TEST_GLOBALS%% @@ -63,7 +63,7 @@ stream { EOF -$t->try_run('no proxy_protocol tlv')->plan(14); +$t->run(); ############################################################################### @@ -86,9 +86,6 @@ like($r, qr/x:\x0d?$/m, 'non-existent'); # big proxy protocol header with TLVs -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.3'); - my $sub = pp2_create_tlv(0x21, "TLSv1.2"); $sub .= pp2_create_tlv(0x22, "example.com"); $sub .= pp2_create_tlv(0x23, "AES256-SHA"); @@ -107,8 +104,6 @@ like($r, qr/ssl-sig-alg:SHA1\x0d?$/m, 'S like($r, qr/ssl-key-alg:RSA512\x0d?$/m, 'SSL_KEY_ALG'); like($r, qr/ssl-binary:true/, 'SSL_BINARY'); -} - ############################################################################### sub pp_get { diff --git a/stream_ssl_certificate.t b/stream_ssl_certificate.t --- a/stream_ssl_certificate.t +++ b/stream_ssl_certificate.t @@ -156,7 +156,6 @@ like(get('default', 8080, $s), qr/defaul TODO: { # ticket key name mismatch prevents session resumption -local $TODO = 'not yet' unless $t->has_version('1.23.2'); local $TODO = 'no SSL_session_key, old IO::Socket::SSL' if $IO::Socket::SSL::VERSION < 1.965; diff --git a/uwsgi.t b/uwsgi.t --- a/uwsgi.t +++ b/uwsgi.t @@ -102,9 +102,6 @@ like(http_get('/var?b=127.0.0.1:' . port 'uwsgi with variables'); like(http_get('/var?b=u'), qr/SEE-THIS/, 'uwsgi with variables to upstream'); -TODO: { -local $TODO = 'not yet' unless $t->has_version('1.23.0'); - my $r = http(<