Mercurial > hg > nginx-tests
diff lib/Test/Nginx.pm @ 27:fb94a224fef2
Tests: add has() functions for feature testing.
Currently it just skips all tests if feature not found in nginx -V output.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Fri, 10 Oct 2008 20:09:14 +0400 |
parents | 89b00444c168 |
children | 8f1519472ece |
line wrap: on
line diff
--- a/lib/Test/Nginx.pm Thu Oct 02 16:18:11 2008 +0400 +++ b/lib/Test/Nginx.pm Fri Oct 10 20:09:14 2008 +0400 @@ -18,9 +18,12 @@ use File::Temp qw/ tempdir /; use IO::Socket; use Socket qw/ CRLF /; +use Test::More qw//; ############################################################################### +our $NGINX = '../nginx/objs/nginx'; + sub new { my $self = {}; bless $self; @@ -40,6 +43,13 @@ $self->stop(); } +sub has { + my ($self, $feature, %options) = @_; + Test::More::plan(skip_all => "$feature not compiled in") + unless `$NGINX -V 2>&1` =~ $feature; + Test::More::plan($options{plan}) if defined $options{plan}; +} + sub run { my ($self, $conf) = @_; @@ -54,7 +64,7 @@ die "Unable to fork(): $!\n" unless defined $pid; if ($pid == 0) { - exec('../nginx/objs/nginx', '-c', "$testdir/nginx.conf", '-g', + exec($NGINX, '-c', "$testdir/nginx.conf", '-g', "pid $testdir/nginx.pid; " . "error_log $testdir/error.log debug;") or die "Unable to exec(): $!\n";