]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
Fix test_errstr for VMS
authorRichard Levitte <levitte@openssl.org>
Wed, 16 Jun 2021 04:46:45 +0000 (06:46 +0200)
committerRichard Levitte <levitte@openssl.org>
Sat, 26 Jun 2021 04:43:08 +0000 (06:43 +0200)
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)

test/recipes/02-test_errstr.t

index c7ada64c4650baf28976d7867a5420abe8c5fc19..9427601292d8308e20a943dfec3b1358e2e4740e 100644 (file)
@@ -122,7 +122,10 @@ sub match_any {
         $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 );
 }
 
@@ -150,6 +153,9 @@ sub match_syserr_reason {
           # ... 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
     push @strings, "reason($errcode)";