Mercurial > hg > nginx-tests
changeset 1995:d329b05e20fa
Tests: removed usage of "cat" and "grep" in tests.
Both "cat" and "grep" might not be available on Windows. Instead,
$t->read_file() is used, as it is already used in other places. To
simplify checking logs as previously done with "grep", $t->grep_file()
helper function is introduced.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 09 Aug 2024 05:18:51 +0300 |
parents | e9235c647f45 |
children | 099c972fb42b |
files | grpc_request_buffering.t h3_ssl_session_reuse.t lib/Test/Nginx.pm memcached_fake.t post_action.t proxy_cache_vary.t proxy_keepalive.t ssl.t ssl_ocsp.t ssl_session_reuse.t ssl_stapling.t stream_resolver.t |
diffstat | 12 files changed, 23 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/grpc_request_buffering.t +++ b/grpc_request_buffering.t @@ -105,7 +105,7 @@ is(eval(join '+', map { $_->{length} } g is(eval(join '+', map { $_->{length} } grep { $_->{type} eq "DATA" } @$frames), 465, 'preserve_output - last body bytes'); -like(`grep -F '[crit]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no crits'); +is($t->grep_file('error.log', '[crit]'), '', 'no crit'); ###############################################################################
--- a/h3_ssl_session_reuse.t +++ b/h3_ssl_session_reuse.t @@ -151,7 +151,7 @@ is(test_reuse(8949), 0, 'cache off not r $t->stop(); -like(`grep -F '[crit]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no crit'); +is($t->grep_file('error.log', '[crit]'), '', 'no crit'); ###############################################################################
--- a/lib/Test/Nginx.pm +++ b/lib/Test/Nginx.pm @@ -84,14 +84,12 @@ sub DESTROY { } if (Test::More->builder->expected_tests) { - my $errors = $self->read_file('error.log'); - $errors = join "\n", $errors =~ /.+Sanitizer.+/gm; + my $errors = $self->grep_file('error.log', 'Sanitizer'); Test::More::is($errors, '', 'no sanitizer errors'); } if (Test::More->builder->expected_tests && $ENV{TEST_NGINX_VALGRIND}) { - my $errors = $self->read_file('valgrind.log'); - $errors = join "\n", $errors =~ /^==\d+== .+/gm; + my $errors = $self->grep_file('valgrind.log', /^==\d+== .+/m); Test::More::is($errors, '', 'no valgrind errors'); } @@ -633,6 +631,16 @@ sub read_file($) { return $content; } +sub grep_file($$) { + my ($self, $name, $regex) = @_; + + my $lines = $self->read_file($name); + + $regex = qr/.*\Q$regex\E.*/m if ref($regex) eq ''; + + return join "\n", $lines =~ /$regex/g; +} + sub write_file($$) { my ($self, $name, $content) = @_;
--- a/memcached_fake.t +++ b/memcached_fake.t @@ -69,7 +69,7 @@ like(http_get('/'), qr/SEE-THIS/, 'memca like(http_get('/ssi.html'), qr/SEE-THIS/, 'memcached ssi var'); -like(`grep -F '[error]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no errors'); +is($t->grep_file('error.log', '[error]'), '', 'no errors'); ###############################################################################
--- a/post_action.t +++ b/post_action.t @@ -76,6 +76,6 @@ unlike(http_get('/remote'), qr/HIDDEN/m, $t->stop(); -like(`cat ${\($t->testdir())}/access.log`, qr/post/, 'post action in logs'); +like($t->read_file('access.log'), qr/post/, 'post action in logs'); ###############################################################################
--- a/proxy_cache_vary.t +++ b/proxy_cache_vary.t @@ -293,7 +293,7 @@ like(get1('/cold?vary=x,y&xtra=1', 'x:2' $t->stop(); -like(`grep -F '[crit]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no crit'); +is($t->grep_file('error.log', '[crit]'), '', 'no crit'); ###############################################################################
--- a/proxy_keepalive.t +++ b/proxy_keepalive.t @@ -208,7 +208,7 @@ like(http_get('/inmemory/closed2'), qr/2 # check for errors, shouldn't be any -like(`grep -F '[error]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no errors'); +is($t->grep_file('error.log', '[error]'), '', 'no errors'); ###############################################################################
--- a/ssl.t +++ b/ssl.t @@ -275,7 +275,7 @@ is(get_ssl_shutdown(8085), 1, 'ssl shutd like($t->read_file('ssl.log'), qr/^(TLS|SSL)v(\d|\.)+$/m, 'log ssl variable on lingering close'); -like(`grep -F '[crit]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no crit'); +is($t->grep_file('error.log', '[crit]'), '', 'no crit'); ###############################################################################
--- a/ssl_ocsp.t +++ b/ssl_ocsp.t @@ -409,7 +409,7 @@ like(get('root', port => 8447), qr/200 O # check for errors -like(`grep -F '[crit]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no crit'); +is($t->grep_file('error.log', '[crit]'), '', 'no crit'); ###############################################################################
--- a/ssl_session_reuse.t +++ b/ssl_session_reuse.t @@ -195,7 +195,7 @@ is(test_reuse(8449), 0, 'cache off not r $t->stop(); -like(`grep -F '[crit]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no crit'); +is($t->grep_file('error.log', '[crit]'), '', 'no crit'); ###############################################################################
--- a/ssl_stapling.t +++ b/ssl_stapling.t @@ -301,7 +301,7 @@ local $TODO = 'broken TLSv1.3 sigalgs in && !Net::SSLeay::constant("LIBRESSL_VERSION_NUMBER") && test_tls13(); -like(`grep -F '[crit]' ${\($t->testdir())}/error.log`, qr/^$/s, 'no crit'); +is($t->grep_file('error.log', '[crit]'), '', 'no crit'); }
--- a/stream_resolver.t +++ b/stream_resolver.t @@ -107,7 +107,7 @@ ok(stream('127.0.0.1:' . port(8086))->re SKIP: { skip "relies on error log contents", 2 unless $ENV{TEST_NGINX_UNSAFE}; -my $log = `grep -F '[error]' ${\($t->testdir())}/error.log`; +my $log = $t->grep_file('error.log', '[error]'); like($log, qr/no port in upstream "a.example.com"/, 'log - no port'); like($log, qr/nx.example.com could not be resolved/, 'log - not found');