diff --git a/.travis.yml b/.travis.yml index f028cdb60..e583826a6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -49,8 +49,8 @@ env: - TEST_NGINX_RANDOMIZE=1 - LUACHECK_VER=0.21.1 matrix: - - NGINX_VERSION=1.25.3 OPENSSL_VER=1.1.1w OPENSSL_PATCH_VER=1.1.1f USE_PCRE2=Y - - NGINX_VERSION=1.21.4 OPENSSL_VER=1.1.1w OPENSSL_PATCH_VER=1.1.1f + - NGINX_VERSION=1.27.0 OPENSSL_VER=1.1.1w OPENSSL_PATCH_VER=1.1.1f USE_PCRE2=Y + - NGINX_VERSION=1.25.3 OPENSSL_VER=1.1.1w OPENSSL_PATCH_VER=1.1.1f services: - memcache diff --git a/t/TestCore.pm b/t/TestCore.pm index b9466c533..d447bd281 100644 --- a/t/TestCore.pm +++ b/t/TestCore.pm @@ -54,6 +54,12 @@ add_block_preprocessor(sub { if (!defined $block->http_config) { $block->set_value("http_config", $HttpConfig); } + + if ($Test::Nginx::Util::UseValgrind) { + my $timeout = $block->timeout || 3; + $timeout *= 5; + $block->set_value("timeout", $timeout); + } }); sub get_unused_port ($) { diff --git a/t/balancer.t b/t/balancer.t index d672415d4..7f33b18c5 100644 --- a/t/balancer.t +++ b/t/balancer.t @@ -9,7 +9,10 @@ use t::TestCore; repeat_each(2); -plan tests => repeat_each() * (blocks() * 4 + 6); +my $TestPlan = $ENV{TEST_NGINX_CHECK_LEAK} ? + repeat_each() * (blocks() * 4 + 8) : repeat_each() * (blocks() * 4 + 6); + +plan tests => $TestPlan; $ENV{TEST_NGINX_LUA_PACKAGE_PATH} = "$t::TestCore::lua_package_path"; diff --git a/t/stream/process-type-hup.t b/t/stream/process-type-hup.t index 2d3c99ec4..65b8a65bb 100644 --- a/t/stream/process-type-hup.t +++ b/t/stream/process-type-hup.t @@ -1,7 +1,15 @@ # vim:set ft= ts=4 sw=4 et fdm=marker: +our $SkipReason; + +BEGIN { + if ($ENV{TEST_NGINX_CHECK_LEAK}) { + $SkipReason = "unavailable for the hup tests"; + } +} + use lib '.'; -use t::TestCore::Stream; +use t::TestCore::Stream $SkipReason ? (skip_all => $SkipReason) : (); repeat_each(2); diff --git a/t/stream/process-type-privileged-agent.t b/t/stream/process-type-privileged-agent.t index 02835c955..caf5d3218 100644 --- a/t/stream/process-type-privileged-agent.t +++ b/t/stream/process-type-privileged-agent.t @@ -5,7 +5,7 @@ use t::TestCore::Stream; repeat_each(2); -plan tests => repeat_each() * (blocks() * 4) - 2; +plan tests => repeat_each() * (blocks() * 4 - 1); add_block_preprocessor(sub { my $block = shift; diff --git a/valgrind.suppress b/valgrind.suppress index 312ac226a..41b2cc300 100644 --- a/valgrind.suppress +++ b/valgrind.suppress @@ -118,64 +118,83 @@ Memcheck:Leak match-leak-kinds: definite fun:malloc - fun:CRYPTO_zalloc - fun:SSL_SESSION_new - fun:ssl_get_new_session - fun:tls_construct_client_hello + ... + fun:ssl_session_dup + fun:tls_process_new_session_ticket + ... + fun:read_state_machine + ... + fun:ssl3_read_bytes + ... + fun:SSL_read + fun:ngx_ssl_recv + fun:ngx_http_upstream_process_header + fun:ngx_http_upstream_handler + ... + fun:ngx_process_events_and_timers + ... + fun:main } { Memcheck:Leak match-leak-kinds: definite fun:malloc + fun:CRYPTO_malloc fun:ssl_session_dup fun:tls_process_new_session_ticket + ... + fun:read_state_machine + ... + fun:ssl3_read_bytes + ... + fun:SSL_read + fun:ngx_ssl_recv + fun:ngx_http_upstream_process_header + fun:ngx_http_upstream_handler + ... + fun:ngx_process_events_and_timers + ... + fun:main +} +{ + + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + fun:CRYPTO_zalloc + fun:SSL_SESSION_new + fun:ssl_get_new_session + fun:tls_construct_client_hello + fun:write_state_machine + ... + fun:ngx_ssl_handshake + fun:ngx_http_upstream_ssl_init_connection + fun:ngx_http_upstream_send_request_handler + fun:ngx_http_upstream_handler + ... + fun:ngx_process_events_and_timers + ... + fun:main } { - - Memcheck:Leak - match-leak-kinds: definite - fun:malloc - fun:CRYPTO_malloc - fun:ssl_session_dup - fun:tls_process_new_session_ticket - fun:ossl_statem_client_process_message - fun:read_state_machine - fun:state_machine - fun:ossl_statem_connect - fun:ssl3_read_bytes - fun:ssl3_read_internal - fun:ssl3_read - fun:ssl_read_internal - fun:SSL_read - fun:ngx_ssl_recv - fun:ngx_http_upstream_process_header - fun:ngx_http_upstream_handler - fun:ngx_epoll_process_events - fun:ngx_process_events_and_timers - fun:ngx_single_process_cycle - fun:main -} -{ - - Memcheck:Leak - match-leak-kinds: definite - fun:malloc - fun:CRYPTO_malloc - fun:CRYPTO_zalloc - fun:SSL_SESSION_new - fun:ssl_get_new_session - fun:tls_construct_client_hello - fun:write_state_machine - fun:state_machine - fun:ossl_statem_connect - fun:SSL_do_handshake - fun:ngx_ssl_handshake - fun:ngx_http_upstream_ssl_init_connection - fun:ngx_http_upstream_send_request_handler - fun:ngx_http_upstream_handler - fun:ngx_epoll_process_events - fun:ngx_process_events_and_timers - fun:ngx_single_process_cycle - fun:main + + Memcheck:Leak + match-leak-kinds: definite + fun:malloc + fun:CRYPTO_malloc + fun:CRYPTO_zalloc + fun:SSL_SESSION_new + fun:ssl_get_new_session + fun:tls_construct_client_hello + fun:write_state_machine + ... + fun:ngx_ssl_handshake + fun:ngx_http_upstream_ssl_init_connection + fun:ngx_http_upstream_send_request_handler + fun:ngx_http_upstream_handler + ... + fun:ngx_process_events_and_timers + ... + fun:main }