Add a test for mismatch between key OID and sig alg
[openssl.git] / test / recipes / 20-test_enc_more.t
index 1419ddb5c37d63c00d76bb96b05f19550aa20970..2691060c75c6e90e62871e8aad24e08cbce0c27b 100644 (file)
@@ -1,13 +1,11 @@
 #! /usr/bin/env perl
 # Copyright 2017 The OpenSSL Project Authors. All Rights Reserved.
+# Copyright (c) 2017, Oracle and/or its affiliates.  All rights reserved.
 #
 # Licensed under the OpenSSL license (the "License").  You may not use
 # this file except in compliance with the License.  You can obtain a copy
 # in the file LICENSE in the source distribution or at
 # https://www.openssl.org/source/license.html
-#
-# ======================================================================
-# Copyright (c) 2017 Oracle and/or its affiliates.  All rights reserved.
 
 
 use strict;
@@ -28,17 +26,22 @@ my $plaintext = catfile(".", "testdatafile");
 my $fail = "";
 my $cmd = "openssl";
 
+my $ciphersstatus = undef;
 my @ciphers =
     grep(! /wrap|^$|^[^-]/,
          (map { split /\s+/ }
-              run(app([$cmd, "enc", "-ciphers"]), capture => 1)));
-
-plan tests => 1 + scalar @ciphers;
+          run(app([$cmd, "enc", "-ciphers"]),
+              capture => 1, statusvar => \$ciphersstatus)));
 
-my $init = ok(copy($testsrc, $plaintext));
+plan tests => 2 + scalar @ciphers;
 
 SKIP: {
-    skip "Not initialized, skipping...", (scalar @ciphers) unless $init;
+    skip "Problems getting ciphers...", 1 + scalar(@ciphers)
+        unless ok($ciphersstatus, "Running 'openssl enc -ciphers'");
+    unless (ok(copy($testsrc, $plaintext), "Copying $testsrc to $plaintext")) {
+        diag($!);
+        skip "Not initialized, skipping...", scalar(@ciphers);
+    }
 
     foreach my $cipher (@ciphers) {
         my $ciphername = substr $cipher, 1;