Fix build failure on Windows due to undefined cflags identifier
[oweals/openssl.git] / test / cms-test.pl
index 287f4db34c749a5686185b5209dfbdb8142fe451..7d4ca2990a0f1f3331dda6ccefa2b2b2a80b000c 100644 (file)
@@ -82,8 +82,53 @@ my $smdir    = "smime-certs";
 my $halt_err = 1;
 
 my $badcmd = 0;
+my $no_ec;
+my $no_ec2m;
+my $no_ecdh;
 my $ossl8 = `$ossl_path version -v` =~ /0\.9\.8/;
 
+system ("$ossl_path no-ec >/dev/null");
+if ($? == 0)
+       {
+       $no_ec = 1;
+       }
+elsif ($? == 256)
+       {
+       $no_ec = 0;
+       }
+else
+       {
+       die "Error checking for EC support\n";
+       }
+    
+system ("$ossl_path no-ec2m >/dev/null");
+if ($? == 0)
+       {
+       $no_ec2m = 1;
+       }
+elsif ($? == 256)
+       {
+       $no_ec2m = 0;
+       }
+else
+       {
+       die "Error checking for EC2M support\n";
+       }
+
+system ("$ossl_path no-ecdh >/dev/null");
+if ($? == 0)
+       {
+       $no_ecdh = 1;
+       }
+elsif ($? == 256)
+       {
+       $no_ecdh = 0;
+       }
+else
+       {
+       die "Error checking for ECDH support\n";
+       }
+    
 my @smime_pkcs7_tests = (
 
     [
@@ -472,6 +517,21 @@ sub run_smime_tests {
                $rscmd =~ s/-stream//;  
                $rvcmd =~ s/-stream//;
                }
+       if ($no_ec && $tnam =~ /ECDH/)
+               {
+               print "$tnam: skipped, EC disabled\n";
+               next;
+               }
+       if ($no_ecdh && $tnam =~ /ECDH/)
+               {
+               print "$tnam: skipped, ECDH disabled\n";
+               next;
+               }
+       if ($no_ec2m && $tnam =~ /K-283/)
+               {
+               print "$tnam: skipped, EC2M disabled\n";
+               next;
+               }
         system("$scmd$rscmd$redir");
         if ($?) {
             print "$tnam: generation error\n";