Improve testing of elliptic curve validation
authorRichard Levitte <levitte@openssl.org>
Thu, 2 Feb 2017 23:31:09 +0000 (00:31 +0100)
committerRichard Levitte <levitte@openssl.org>
Mon, 20 Mar 2017 05:40:16 +0000 (06:40 +0100)
Add a test recipe (test/recipes/15-test_ecparams.t) which uses 'openssl
ecparam' to check the test vectors.

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2544)

test/recipes/15-test_ecparam.t [new file with mode: 0644]

diff --git a/test/recipes/15-test_ecparam.t b/test/recipes/15-test_ecparam.t
new file mode 100644 (file)
index 0000000..ec629e9
--- /dev/null
@@ -0,0 +1,34 @@
+#! /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
+
+
+use strict;
+use warnings;
+
+use File::Spec;
+use if $^O ne "VMS", 'File::Glob' => qw/glob/;
+use OpenSSL::Test qw/:DEFAULT data_file/;
+use OpenSSL::Test::Utils;
+
+setup("test_ecparam");
+
+plan skip_all => "EC isn't supported in this build"
+    if disabled("ec");
+
+my @valid = glob(data_file("valid", "*.pem"));
+my @invalid = glob(data_file("invalid", "*.pem"));
+
+plan tests => scalar @valid + scalar @invalid;
+
+foreach (@valid) {
+    ok(run(app([qw{openssl ecparam -noout -check -in}, $_])));
+}
+
+foreach (@invalid) {
+    ok(!run(app([qw{openssl ecparam -noout -check -in}, $_])));
+}