Return error code is any tests fail.
[openssl.git] / test / cms-test.pl
index f55fd69ce810e8a3a7cd749732245e896a21e65b..51abeef2c9cb21ba100a99a7998db9a9b306154b 100644 (file)
@@ -59,23 +59,31 @@ my $redir = " 2> cms.err > cms.out";
 if ( $^O eq "VMS" && -f "OSSLX:openssl.exe" ) {
     $ossl_path = "pipe mcr OSSLX:openssl";
     $null_path = "NL:";
+    # On VMS, the lowest 3 bits of the exit code indicates severity
+    # 1 is success (perl translates it to 0 for $?), 2 is error
+    # (perl doesn't translate it)
+    $failure_code = 512;       # 2 << 8 = 512
 }
 # Make MSYS work
 elsif ( $^O eq "MSWin32" && -f "../apps/openssl.exe" ) {
     $ossl_path = "cmd /c ..\\apps\\openssl";
-    $null_path = "/dev/null";
+    $null_path = "NUL";
+    $failure_code = 256;
 }
 elsif ( -f "../apps/openssl$ENV{EXE_EXT}" ) {
     $ossl_path = "../util/shlib_wrap.sh ../apps/openssl";
     $null_path = "/dev/null";
+    $failure_code = 256;
 }
 elsif ( -f "..\\out32dll\\openssl.exe" ) {
     $ossl_path = "..\\out32dll\\openssl.exe";
-    $null_path = "/dev/null";
+    $null_path = "NUL";
+    $failure_code = 256;
 }
 elsif ( -f "..\\out32\\openssl.exe" ) {
     $ossl_path = "..\\out32\\openssl.exe";
-    $null_path = "/dev/null";
+    $null_path = "NUL";
+    $failure_code = 256;
 }
 else {
     die "Can't find OpenSSL executable";
@@ -97,7 +105,7 @@ if ($? == 0)
        {
        $no_ec = 1;
        }
-elsif ($^O eq "VMS" ? $? == 512 : $? == 256)
+elsif ($? == $failure_code)
        {
        $no_ec = 0;
        }
@@ -111,7 +119,7 @@ if ($? == 0)
        {
        $no_ec2m = 1;
        }
-elsif ($? == 256)
+elsif ($? == $failure_code)
        {
        $no_ec2m = 0;
        }
@@ -125,7 +133,7 @@ if ($? == 0)
        {
        $no_ecdh = 1;
        }
-elsif ($? == 256)
+elsif ($? == $failure_code)
        {
        $no_ecdh = 0;
        }