From 17ac8eaf611b588cca251ba63b187e7d9c7edb83 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Wed, 7 Dec 2016 22:44:47 +0100 Subject: [PATCH] Add a test for the UI API The best way to test the UI interface is currently by using an openssl command that uses password_callback. The only one that does this is 'genrsa'. Since password_callback uses a UI method derived from UI_OpenSSL(), it ensures that one gets tested well enough as well. Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/2040) --- test/recipes/03-test_ui.t | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 test/recipes/03-test_ui.t diff --git a/test/recipes/03-test_ui.t b/test/recipes/03-test_ui.t new file mode 100644 index 0000000000..b1065d1bdb --- /dev/null +++ b/test/recipes/03-test_ui.t @@ -0,0 +1,30 @@ +#! /usr/bin/env perl +# Copyright 2015-2016 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 OpenSSL::Test; + +setup("test_ui"); + +plan tests => 1; + +note <<"EOF"; +The best way to test the UI interface is currently by using an openssl +command that uses password_callback. The only one that does this is +'genrsa'. +Since password_callback uses a UI method derived from UI_OpenSSL(), it +ensures that one gets tested well enough as well. +EOF + +my $outfile = "rsa_$$.pem"; +ok(run(app(["openssl", "genrsa", "-passout", "pass:password", "-aes128", + "-out", $outfile])), + "Checking that genrsa with a password works properly"); + +unlink $outfile; -- 2.25.1