[PATCH] Tests: added has_feature() test for CryptX

Sergey Kandaurov pluknet at nginx.com
Thu May 25 15:30:27 UTC 2023


# HG changeset patch
# User Sergey Kandaurov <pluknet at nginx.com>
# Date 1685028552 -14400
#      Thu May 25 19:29:12 2023 +0400
# Node ID 4dad7cf8ebe807f9230a82dde5fc02b5e12e390b
# Parent  acd68670b0649da2fbcfd3e8231c9805d50abcb5
Tests: added has_feature() test for CryptX.

diff --git a/h3_absolute_redirect.t b/h3_absolute_redirect.t
--- a/h3_absolute_redirect.t
+++ b/h3_absolute_redirect.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3 proxy rewrite/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 proxy rewrite cryptx/)
 	->has_daemon('openssl')->plan(23);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
diff --git a/h3_headers.t b/h3_headers.t
--- a/h3_headers.t
+++ b/h3_headers.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3 proxy rewrite/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 proxy rewrite cryptx/)
 	->has_daemon('openssl')->plan(68)
 	->write_file_expand('nginx.conf', <<'EOF');
 
diff --git a/h3_keepalive.t b/h3_keepalive.t
--- a/h3_keepalive.t
+++ b/h3_keepalive.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 cryptx/)
 	->has_daemon('openssl')->plan(15)
 	->write_file_expand('nginx.conf', <<'EOF');
 
diff --git a/h3_limit_conn.t b/h3_limit_conn.t
--- a/h3_limit_conn.t
+++ b/h3_limit_conn.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3 limit_conn proxy/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 limit_conn proxy cryptx/)
 	->has_daemon('openssl')->plan(2);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
diff --git a/h3_limit_req.t b/h3_limit_req.t
--- a/h3_limit_req.t
+++ b/h3_limit_req.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3 proxy limit_req/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 proxy limit_req cryptx/)
 	->has_daemon('openssl')->plan(6);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
diff --git a/h3_proxy.t b/h3_proxy.t
--- a/h3_proxy.t
+++ b/h3_proxy.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3 proxy/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 proxy cryptx/)
 	->has_daemon('openssl')->plan(3)
 	->write_file_expand('nginx.conf', <<'EOF');
 
diff --git a/h3_proxy_max_temp_file_size.t b/h3_proxy_max_temp_file_size.t
--- a/h3_proxy_max_temp_file_size.t
+++ b/h3_proxy_max_temp_file_size.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3 proxy/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 proxy cryptx/)
 	->has_daemon('openssl')->plan(4);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
diff --git a/h3_reusable.t b/h3_reusable.t
--- a/h3_reusable.t
+++ b/h3_reusable.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 cryptx/)
 	->has_daemon('openssl')->plan(1)
 	->write_file_expand('nginx.conf', <<'EOF');
 
diff --git a/h3_server_name.t b/h3_server_name.t
--- a/h3_server_name.t
+++ b/h3_server_name.t
@@ -24,11 +24,8 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
 my $t = Test::Nginx->new()
-	->has(qw/http http_ssl http_v2 http_v3 rewrite socket_ssl_alpn/)
+	->has(qw/http http_ssl http_v2 http_v3 rewrite socket_ssl_alpn cryptx/)
 	->has_daemon('openssl')->plan(6);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
diff --git a/h3_server_tokens.t b/h3_server_tokens.t
--- a/h3_server_tokens.t
+++ b/h3_server_tokens.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3 rewrite/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 rewrite cryptx/)
 	->has_daemon('openssl')->plan(12);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
diff --git a/h3_ssl_reject_handshake.t b/h3_ssl_reject_handshake.t
--- a/h3_ssl_reject_handshake.t
+++ b/h3_ssl_reject_handshake.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 cryptx/)
 	->has_daemon('openssl')->plan(7)
 	->write_file_expand('nginx.conf', <<'EOF');
 
diff --git a/h3_ssl_session_reuse.t b/h3_ssl_session_reuse.t
--- a/h3_ssl_session_reuse.t
+++ b/h3_ssl_session_reuse.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 cryptx/)
 	->has_daemon('openssl')->plan(8)
 	->write_file_expand('nginx.conf', <<'EOF');
 
diff --git a/h3_trailers.t b/h3_trailers.t
--- a/h3_trailers.t
+++ b/h3_trailers.t
@@ -23,10 +23,7 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
-my $t = Test::Nginx->new()->has(qw/http http_v3/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 cryptx/)
 	->has_daemon('openssl')->plan(8);
 
 $t->write_file_expand('nginx.conf', <<'EOF');
diff --git a/lib/Test/Nginx.pm b/lib/Test/Nginx.pm
--- a/lib/Test/Nginx.pm
+++ b/lib/Test/Nginx.pm
@@ -288,6 +288,13 @@ sub has_feature($) {
 		return 1;
 	}
 
+	if ($feature eq 'cryptx') {
+		eval { require Crypt::Misc; };
+		return 0 if $@;
+		eval { die if $Crypt::Misc::VERSION < 0.067; };
+		return !$@;
+	}
+
 	return 0;
 }
 
diff --git a/quic_migration.t b/quic_migration.t
--- a/quic_migration.t
+++ b/quic_migration.t
@@ -23,13 +23,10 @@ use Test::Nginx::HTTP3;
 select STDERR; $| = 1;
 select STDOUT; $| = 1;
 
-eval { require Crypt::Misc; die if $Crypt::Misc::VERSION < 0.067; };
-plan(skip_all => 'CryptX version >= 0.067 required') if $@;
-
 plan(skip_all => '127.0.0.20 local address required')
 	unless defined IO::Socket::INET->new( LocalAddr => '127.0.0.20' );
 
-my $t = Test::Nginx->new()->has(qw/http http_v3/)
+my $t = Test::Nginx->new()->has(qw/http http_v3 cryptx/)
 	->has_daemon('openssl')->plan(2);
 
 $t->write_file_expand('nginx.conf', <<'EOF');


More information about the nginx-devel mailing list