summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorBernd Edlinger <bernd.edlinger@hotmail.de>2021-11-19 16:38:55 +0100
committerBernd Edlinger <bernd.edlinger@hotmail.de>2021-11-23 06:10:43 +0100
commit38e2957249c90317a26a080c7e7eb186dd5b6598 (patch)
tree51106bb9bbf5a8ec46d2de7f64d5eab8788d829a /test
parent81c11349c2a0e945aa3dfc6bd81c957363dd2011 (diff)
Add a test case for duplicate engine loading
Reviewed-by: Tomas Mraz <tomas@openssl.org> Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> (Merged from https://github.com/openssl/openssl/pull/17073) (cherry picked from commit 2595eef82c2b67ea75cc3368529078b643a1ecb6)
Diffstat (limited to 'test')
-rw-r--r--test/recipes/20-test_dgst.t23
1 files changed, 21 insertions, 2 deletions
diff --git a/test/recipes/20-test_dgst.t b/test/recipes/20-test_dgst.t
index 5af74aec2a..e72038d852 100644
--- a/test/recipes/20-test_dgst.t
+++ b/test/recipes/20-test_dgst.t
@@ -12,12 +12,12 @@ use warnings;
use File::Spec;
use File::Basename;
-use OpenSSL::Test qw/:DEFAULT with srctop_file/;
+use OpenSSL::Test qw/:DEFAULT with srctop_file bldtop_file/;
use OpenSSL::Test::Utils;
setup("test_dgst");
-plan tests => 9;
+plan tests => 10;
sub tsignverify {
my $testtext = shift;
@@ -103,6 +103,25 @@ SKIP: {
};
}
+SKIP: {
+ skip "dgst with engine is not supported by this OpenSSL build", 1
+ if disabled("engine") || disabled("dynamic-engine");
+
+ subtest "SHA1 generation by engine with `dgst` CLI" => sub {
+ plan tests => 1;
+
+ my $testdata = srctop_file('test', 'data.bin');
+ # intentionally using -engine twice, please do not remove the duplicate line
+ my @macdata = run(app(['openssl', 'dgst', '-sha1',
+ '-engine', $^O eq 'linux' ? bldtop_file("engines", "ossltest.so") : "ossltest",
+ '-engine', $^O eq 'linux' ? bldtop_file("engines", "ossltest.so") : "ossltest",
+ $testdata]), capture => 1);
+ chomp(@macdata);
+ my $expected = qr/SHA1\(\Q$testdata\E\)= 000102030405060708090a0b0c0d0e0f10111213/;
+ ok($macdata[0] =~ $expected, "SHA1: Check HASH value is as expected ($macdata[0]) vs ($expected)");
+ }
+}
+
subtest "HMAC generation with `dgst` CLI" => sub {
plan tests => 2;