# HG changeset patch # User Andrei Belov # Date 1474898769 -10800 # Node ID 9339673bb45469040b761a2b12f536e84e8e008d # Parent 187524328926cd2f387d055eab46eef85a183cd2 Tests: check for known dynamic modules via TEST_NGINX_GLOBALS. diff --git a/lib/Test/Nginx.pm b/lib/Test/Nginx.pm --- a/lib/Test/Nginx.pm +++ b/lib/Test/Nginx.pm @@ -193,7 +193,24 @@ sub has_module($) { $self->{_configure_args} = `$NGINX -V 2>&1` if !defined $self->{_configure_args}; - return ($self->{_configure_args} =~ $re) ? 1 : 0; + return 1 if $self->{_configure_args} =~ $re; + + my %modules = ( + image_filter + => 'ngx_http_image_filter_module.so', + perl => 'ngx_http_perl_module.so', + xslt => 'ngx_http_xslt_filter_module.so', + mail => 'ngx_mail_module.so', + stream => 'ngx_stream_module.so', + ); + + my $module = $modules{$feature}; + if (defined $module && defined $ENV{TEST_NGINX_GLOBALS}) { + $re = qr/load_module\s+[^;]*\Q$module\E\s*;/; + return 1 if $ENV{TEST_NGINX_GLOBALS} =~ $re; + } + + return 0; } sub has_feature($) {