diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ssl/t/001_ssltests.pl | 42 | 
1 files changed, 19 insertions, 23 deletions
| diff --git a/src/test/ssl/t/001_ssltests.pl b/src/test/ssl/t/001_ssltests.pl index b2eb18d3e81..eaee88d027e 100644 --- a/src/test/ssl/t/001_ssltests.pl +++ b/src/test/ssl/t/001_ssltests.pl @@ -748,33 +748,29 @@ TODO:  # pg_stat_ssl -my $serialno = `$ENV{OPENSSL} x509 -serial -noout -in ssl/client.crt`; -if ($? == 0) -{ -	# OpenSSL prints serial numbers in hexadecimal and converting the serial -	# from hex requires a 64-bit capable Perl as the serialnumber is based on -	# the current timestamp. On 32-bit fall back to checking for it being an -	# integer like how we do when grabbing the serial fails. -	if ($Config{ivsize} == 8) -	{ -		no warnings qw(portable); +# If the openssl program isn't available, or fails to run, fall back to a +# generic integer match rather than skipping the test. +my $serialno = '\d+'; -		$serialno =~ s/^serial=//; -		$serialno =~ s/\s+//g; -		$serialno = hex($serialno); -	} -	else +if ($ENV{OPENSSL} ne '') +{ +	$serialno = `$ENV{OPENSSL} x509 -serial -noout -in ssl/client.crt`; +	if ($? == 0)  	{ -		$serialno = '\d+'; +		# OpenSSL prints serial numbers in hexadecimal and converting the serial +		# from hex requires a 64-bit capable Perl as the serialnumber is based on +		# the current timestamp. On 32-bit fall back to checking for it being an +		# integer like how we do when grabbing the serial fails. +		if ($Config{ivsize} == 8) +		{ +			no warnings qw(portable); + +			$serialno =~ s/^serial=//; +			$serialno =~ s/\s+//g; +			$serialno = hex($serialno); +		}  	}  } -else -{ -	# OpenSSL isn't functioning on the user's PATH. This probably isn't worth -	# skipping the test over, so just fall back to a generic integer match. -	warn "couldn't run \"$ENV{OPENSSL} x509\" to get client cert serialno"; -	$serialno = '\d+'; -}  command_like(  	[ | 
