Mercurial > hg > nginx-tests
comparison lib/Test/Nginx.pm @ 1860:58951cf933e1
Tests: added has_feature() test for SSL libraries.
This makes it possible to further simplify various SSL tests. It also
avoids direct testing of the $t->{_configure_args} internal field, and
implements proper comparison of version numbers.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Thu, 18 May 2023 18:07:06 +0300 |
parents | cdcd75657e52 |
children | 0e1865aa9b33 |
comparison
equal
deleted
inserted
replaced
1859:5f46af4707e7 | 1860:58951cf933e1 |
---|---|
264 return IO::Socket::SSL->can('get_session_reused'); | 264 return IO::Socket::SSL->can('get_session_reused'); |
265 } | 265 } |
266 return 0; | 266 return 0; |
267 } | 267 } |
268 | 268 |
269 if ($feature =~ /^(openssl|libressl):([0-9.]+)/) { | |
270 my $library = $1; | |
271 my $need = $2; | |
272 | |
273 $self->{_configure_args} = `$NGINX -V 2>&1` | |
274 if !defined $self->{_configure_args}; | |
275 | |
276 return 0 unless | |
277 $self->{_configure_args} =~ /with $library ([0-9.]+)/i; | |
278 | |
279 my @v = split(/\./, $1); | |
280 my ($n, $v); | |
281 | |
282 for $n (split(/\./, $need)) { | |
283 $v = shift @v || 0; | |
284 return 0 if $n > $v; | |
285 return 1 if $v > $n; | |
286 } | |
287 | |
288 return 1; | |
289 } | |
290 | |
269 return 0; | 291 return 0; |
270 } | 292 } |
271 | 293 |
272 sub has_version($) { | 294 sub has_version($) { |
273 my ($self, $need) = @_; | 295 my ($self, $need) = @_; |