summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorPauli <paul.dale@oracle.com>2017-02-23 08:34:32 +1000
committerRichard Levitte <levitte@openssl.org>2017-02-23 02:24:51 +0100
commit227a44b1f639ea02d1a278ed07fa5f2dc6d286c6 (patch)
tree7f1d1f96a7f9c88964f76623aaf1cbd6af377ef3 /test
parent39aceac320a1561d50c7d71ac2560aec7ab8eddb (diff)
Add a test case that tests more of the cipher modes.
Reviewed-by: Rich Salz <rsalz@openssl.org> Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/2715)
Diffstat (limited to 'test')
-rw-r--r--test/recipes/20-test_enc_more.t58
1 files changed, 58 insertions, 0 deletions
diff --git a/test/recipes/20-test_enc_more.t b/test/recipes/20-test_enc_more.t
new file mode 100644
index 0000000000..2ea6897529
--- /dev/null
+++ b/test/recipes/20-test_enc_more.t
@@ -0,0 +1,58 @@
+#! /usr/bin/env perl
+# Copyright 2017 The OpenSSL Project Authors. 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;
+use warnings;
+
+use File::Spec::Functions qw/catfile/;
+use File::Copy;
+use File::Compare qw/compare_text/;
+use File::Basename;
+use OpenSSL::Test qw/:DEFAULT srctop_file/;
+
+setup("test_evp_more");
+
+my $testsrc = srctop_file("test", "recipes", basename($0));
+
+my $cipherlist = undef;
+my $plaintext = catfile(".", "testdatafile");
+my $fail = "";
+my $cmd = "openssl";
+
+my @ciphers =
+ grep(! /wrap|hmac|poly|ocb|xts|^$|^[^-]|(?i)[cg]cm/,
+ (map { split /\s+/ }
+ run(app([$cmd, "enc", "-ciphers"]), capture => 1)));
+
+plan tests => 1 + scalar @ciphers;
+
+my $init = ok(copy($testsrc, $plaintext));
+
+SKIP: {
+ skip "Not initialized, skipping...", (scalar @ciphers) unless $init;
+
+ foreach my $cipher (@ciphers) {
+ my $ciphername = substr $cipher, 1;
+ my $cipherfile = "$plaintext.$ciphername.cipher";
+ my $clearfile = "$plaintext.$ciphername.clear";
+ my @common = ( $cmd, "enc", "$cipher", "-k", "test" );
+
+ ok(run(app([@common, "-e", "-in", $plaintext, "-out", $cipherfile]))
+ && compare_text($plaintext, $cipherfile) != 0
+ && run(app([@common, "-d", "-in", $cipherfile, "-out", $clearfile]))
+ && compare_text($plaintext, $clearfile) == 0
+ , $ciphername);
+ unlink $cipherfile, $clearfile;
+ }
+}
+
+unlink $plaintext;