changeset 1042:9339673bb454

Tests: check for known dynamic modules via TEST_NGINX_GLOBALS.
author Andrei Belov <defan@nginx.com>
date Mon, 26 Sep 2016 17:06:09 +0300
parents 187524328926
children b82f54728e14
files lib/Test/Nginx.pm
diffstat 1 files changed, 18 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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($) {