Mercurial > hg > nginx-tests
comparison lib/Test/Nginx.pm @ 592:355f2d5ff60f
Tests: catch nginx alerts on exit.
The new todo_alerts() function is used to mark such a test as TODO.
Notably, proxy_if.t is currently expected to produce alerts.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Wed, 27 May 2015 16:58:35 +0300 |
parents | 2cd00179f4b2 |
children | 3a9a7b4f27f0 |
comparison
equal
deleted
inserted
replaced
591:0b059d5e6887 | 592:355f2d5ff60f |
---|---|
34 sub new { | 34 sub new { |
35 my $self = {}; | 35 my $self = {}; |
36 bless $self; | 36 bless $self; |
37 | 37 |
38 $self->{_pid} = $$; | 38 $self->{_pid} = $$; |
39 $self->{_alerts} = 1; | |
39 | 40 |
40 $self->{_testdir} = tempdir( | 41 $self->{_testdir} = tempdir( |
41 'nginx-test-XXXXXXXXXX', | 42 'nginx-test-XXXXXXXXXX', |
42 TMPDIR => 1 | 43 TMPDIR => 1 |
43 ) | 44 ) |
58 | 59 |
59 return if $self->{_pid} != $$; | 60 return if $self->{_pid} != $$; |
60 | 61 |
61 $self->stop(); | 62 $self->stop(); |
62 $self->stop_daemons(); | 63 $self->stop_daemons(); |
64 | |
65 if (Test::More->builder->expected_tests) { | |
66 local $Test::Nginx::TODO = 'alerts' unless $self->{_alerts}; | |
67 | |
68 my $alerts = $self->read_file('error.log'); | |
69 $alerts = join "\n", $alerts =~ /.+\[alert\].+/gm; | |
70 Test::More::is($alerts, '', 'no alerts'); | |
71 } | |
63 | 72 |
64 if ($ENV{TEST_NGINX_CATLOG}) { | 73 if ($ENV{TEST_NGINX_CATLOG}) { |
65 system("cat $self->{_testdir}/error.log"); | 74 system("cat $self->{_testdir}/error.log"); |
66 } | 75 } |
67 if (not $ENV{TEST_NGINX_LEAVE}) { | 76 if (not $ENV{TEST_NGINX_LEAVE}) { |
221 } | 230 } |
222 | 231 |
223 sub plan($) { | 232 sub plan($) { |
224 my ($self, $plan) = @_; | 233 my ($self, $plan) = @_; |
225 | 234 |
226 Test::More::plan(tests => $plan); | 235 Test::More::plan(tests => $plan + 1); |
236 | |
237 return $self; | |
238 } | |
239 | |
240 sub todo_alerts() { | |
241 my ($self) = @_; | |
242 | |
243 $self->{_alerts} = 0; | |
227 | 244 |
228 return $self; | 245 return $self; |
229 } | 246 } |
230 | 247 |
231 sub run(;$) { | 248 sub run(;$) { |