Fix test_errstr for VMS

Occasionally, we get an error code on VMS that doesn't translate
into POSIX, and the error string reflects that

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15823)
This commit is contained in:
Richard Levitte 2021-06-16 06:46:45 +02:00
parent 89fe295257
commit e7137c8497

View File

@ -122,7 +122,10 @@ sub match_any {
$desc = "match '$first' ($desc) with '$strings[0]'"; $desc = "match '$first' ($desc) with '$strings[0]'";
} }
return ( scalar( grep { $first eq $_ } @strings ) > 0, return ( scalar(
grep { ref $_ eq 'Regexp' ? $first =~ $_ : $first eq $_ }
@strings
) > 0,
$desc ); $desc );
} }
@ -150,6 +153,9 @@ sub match_syserr_reason {
# ... and $! will give you the error string back # ... and $! will give you the error string back
$! $!
}; };
# Occasionally, we get an error code that is simply not translatable
# to POSIX semantics on VMS, and we get an error string saying so.
push @strings, qr/^non-translatable vms error code:/ if $^O eq 'VMS';
# The OpenSSL fallback string # The OpenSSL fallback string
push @strings, "reason($errcode)"; push @strings, "reason($errcode)";