TEST: Adapt all applicable tests to the new distinguishing ID
[openssl.git] / test / recipes / 15-test_rsa.t
index c686a66a50cc819256a830e2cae5874f18dacb61..2e8afa82138195f8134b18fa99811df2c8596539 100644 (file)
@@ -1,32 +1,63 @@
-#! /usr/bin/perl
+#! /usr/bin/env perl
+# Copyright 2015-2016 The OpenSSL Project Authors. All Rights Reserved.
+#
+# Licensed under the Apache License 2.0 (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
+
 
 use strict;
 use warnings;
 
 use File::Spec;
-use Test::More 0.96;
-use OpenSSL::Test qw/:DEFAULT top_file/;
+use OpenSSL::Test qw/:DEFAULT srctop_file/;
+use OpenSSL::Test::Utils;
 
 setup("test_rsa");
 
-plan tests => 5;
+#plan skip_all => "RSA command line tool not built"
+#    if disabled("deprecated-3.0");
+
+plan tests => 10;
 
-require_ok(top_file('test','recipes','tconversion.pl'));
+require_ok(srctop_file('test', 'recipes', 'tconversion.pl'));
 
 ok(run(test(["rsa_test"])), "running rsatest");
 
+run_rsa_tests("pkey");
+
  SKIP: {
-     skip "Skipping rsa conversion test", 3
-        if run(app(["openssl","no-rsa"], stdout => undef));
-
-     subtest 'rsa conversions -- private key' => sub {
-        tconversion("rsa", top_file("test","testrsa.pem"));
-     };
-     subtest 'rsa conversions -- private key PKCS#8' => sub {
-        tconversion("rsa", top_file("test","testrsa.pem"), "pkey");
-     };
-     subtest 'rsa conversions -- public key' => sub {
-        tconversion("rsa", top_file("test","testrsapub.pem"), "rsa",
-                    "-pubin", "-pubout");
-     };
+    skip "Skipping rsa command line tests", 4 if disabled('deprecated-3.0');
+
+    run_rsa_tests("rsa");
+}
+
+sub run_rsa_tests {
+    my $cmd = shift;
+
+    ok(run(app([ 'openssl', $cmd, '-check', '-in', srctop_file('test', 'testrsa.pem'), '-noout'])),
+           "$cmd -check" );
+
+     SKIP: {
+         skip "Skipping $cmd conversion test", 3
+            if disabled("rsa");
+
+         subtest "$cmd conversions -- private key" => sub {
+            tconversion($cmd, srctop_file("test", "testrsa.pem"));
+         };
+         subtest "$cmd conversions -- private key PKCS#8" => sub {
+            tconversion($cmd, srctop_file("test", "testrsa.pem"), "pkey");
+         };
+    }
+
+     SKIP: {
+         skip "Skipping msblob conversion test", 1
+            if disabled($cmd) || disabled("dsa") || $cmd == 'pkey';
+
+         subtest "$cmd conversions -- public key" => sub {
+            tconversion("msb", srctop_file("test", "testrsapub.pem"), "rsa",
+                        "-pubin", "-pubout");
+         };
+    }
 }