Mercurial > hg > nginx-tests
diff lib/Test/Nginx.pm @ 392:c28ecaef065f
Tests: try_run() introduced.
This method replaces multiple ad-hoc solutions to grecefully skip tests if
nginx startup fails, e.g., due to no support for a particular directive.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 18 Apr 2014 18:36:26 +0400 |
parents | 5fdde9f755c9 |
children | d7d9b4367bab |
line wrap: on
line diff
--- a/lib/Test/Nginx.pm Tue Apr 15 22:04:08 2014 +0400 +++ b/lib/Test/Nginx.pm Fri Apr 18 18:36:26 2014 +0400 @@ -172,6 +172,19 @@ return $self; } +sub try_run($$) { + my ($self, $message) = @_; + + eval { + open OLDERR, ">&", \*STDERR; close STDERR; + $self->run(); + open STDERR, ">&", \*OLDERR; + }; + + Test::More::plan(skip_all => $message) if $@; + return $self; +} + sub plan($) { my ($self, $plan) = @_;