From 93de4f58ef8be2cb764343cb3102d41c81f11593 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 21 Apr 2015 19:29:01 +0200 Subject: [PATCH] Simplify very simple test recipes further. Very simple test recipes easily become tedious, so they might benefit from being made as simple as possible. Therefore, OpenSSL::Test::Simple is born. It currently provides but one function, simple_test(), which takes a minimum of two parameters (test name and program to run), with the optional third, being the algorithm to be checked for before running the test itself. All recipes with that simple thing to do have been rewritten to be as minimal as possible. Reviewed-by: Rich Salz --- test/recipes/05-test_bf.t | 11 ++-------- test/recipes/05-test_cast.t | 11 ++-------- test/recipes/05-test_des.t | 11 ++-------- test/recipes/05-test_hmac.t | 11 ++-------- test/recipes/05-test_idea.t | 11 ++-------- test/recipes/05-test_md2.t | 11 ++-------- test/recipes/05-test_md4.t | 11 ++-------- test/recipes/05-test_md5.t | 11 ++-------- test/recipes/05-test_mdc2.t | 11 ++-------- test/recipes/05-test_rand.t | 11 ++-------- test/recipes/05-test_rc2.t | 11 ++-------- test/recipes/05-test_rc4.t | 11 ++-------- test/recipes/05-test_rc5.t | 11 ++-------- test/recipes/05-test_rmd.t | 11 ++-------- test/recipes/05-test_sha1.t | 11 ++-------- test/recipes/05-test_sha256.t | 11 ++-------- test/recipes/05-test_sha512.t | 11 ++-------- test/recipes/05-test_wp.t | 11 ++-------- test/recipes/10-test_exp.t | 11 ++-------- test/recipes/15-test_dh.t | 11 ++-------- test/recipes/15-test_ecdh.t | 11 ++-------- test/recipes/15-test_ecdsa.t | 11 ++-------- test/recipes/90-test_constant_time.t | 11 ++-------- test/recipes/90-test_heartbeat.t | 11 ++-------- test/recipes/90-test_ige.t | 11 ++-------- test/recipes/90-test_jpake.t | 11 ++-------- test/recipes/90-test_p5_crpt2.t | 11 ++-------- test/recipes/90-test_srp.t | 11 ++-------- test/recipes/90-test_v3name.t | 11 ++-------- test/testlib/OpenSSL/Test/Simple.pm | 32 ++++++++++++++++++++++++++++ 30 files changed, 90 insertions(+), 261 deletions(-) create mode 100644 test/testlib/OpenSSL/Test/Simple.pm diff --git a/test/recipes/05-test_bf.t b/test/recipes/05-test_bf.t index 70e0d28bf19..4794bf0d842 100644 --- a/test/recipes/05-test_bf.t +++ b/test/recipes/05-test_bf.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_bf"); - -plan tests => 1; -ok(run(test(["bftest"])), "running bftest"); +simple_test("test_bf", "bftest", "bf"); diff --git a/test/recipes/05-test_cast.t b/test/recipes/05-test_cast.t index ffb5645af82..621e1ae739a 100644 --- a/test/recipes/05-test_cast.t +++ b/test/recipes/05-test_cast.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_cast"); - -plan tests => 1; -ok(run(test(["casttest"])), "running casttest"); +simple_test("test_cast", "casttest", "cast"); diff --git a/test/recipes/05-test_des.t b/test/recipes/05-test_des.t index 6c293e822dc..71de4b47a20 100644 --- a/test/recipes/05-test_des.t +++ b/test/recipes/05-test_des.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_des"); - -plan tests => 1; -ok(run(test(["destest"])), "running destest"); +simple_test("test_des", "destest", "des"); diff --git a/test/recipes/05-test_hmac.t b/test/recipes/05-test_hmac.t index 17fdf77aa8a..469d43f14d0 100644 --- a/test/recipes/05-test_hmac.t +++ b/test/recipes/05-test_hmac.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_hmac"); - -plan tests => 1; -ok(run(test(["hmactest"])), "running hmactest"); +simple_test("test_hmac", "hmactest", "hmac"); diff --git a/test/recipes/05-test_idea.t b/test/recipes/05-test_idea.t index 923c1e1e168..c43ba5c1adc 100644 --- a/test/recipes/05-test_idea.t +++ b/test/recipes/05-test_idea.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_idea"); - -plan tests => 1; -ok(run(test(["ideatest"])), "running ideatest"); +simple_test("test_idea", "ideatest", "idea"); diff --git a/test/recipes/05-test_md2.t b/test/recipes/05-test_md2.t index 4b942aea56e..2175c5f41c1 100644 --- a/test/recipes/05-test_md2.t +++ b/test/recipes/05-test_md2.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_md2"); - -plan tests => 1; -ok(run(test(["md2test"])), "running md2test"); +simple_test("test_md2", "md2test", "md2"); diff --git a/test/recipes/05-test_md4.t b/test/recipes/05-test_md4.t index d5334e1d026..2337223b47d 100644 --- a/test/recipes/05-test_md4.t +++ b/test/recipes/05-test_md4.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_md4"); - -plan tests => 1; -ok(run(test(["md4test"])), "running md4test"); +simple_test("test_md4", "md4test", "md4"); diff --git a/test/recipes/05-test_md5.t b/test/recipes/05-test_md5.t index 4ac49ffb0f6..e9331e24c5f 100644 --- a/test/recipes/05-test_md5.t +++ b/test/recipes/05-test_md5.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_md5"); - -plan tests => 1; -ok(run(test(["md5test"])), "running md5test"); +simple_test("test_md5", "md5test", "md5"); diff --git a/test/recipes/05-test_mdc2.t b/test/recipes/05-test_mdc2.t index 4ba049aed0c..23e904c292e 100644 --- a/test/recipes/05-test_mdc2.t +++ b/test/recipes/05-test_mdc2.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_mdc2"); - -plan tests => 1; -ok(run(test(["mdc2test"])), "running mdc2test"); +simple_test("test_mdc2", "mdc2test", "mdc2"); diff --git a/test/recipes/05-test_rand.t b/test/recipes/05-test_rand.t index 220ee862659..afa66a666dd 100644 --- a/test/recipes/05-test_rand.t +++ b/test/recipes/05-test_rand.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_rand"); - -plan tests => 1; -ok(run(test(["randtest"])), "running randtest"); +simple_test("test_rand", "randtest", "rand"); diff --git a/test/recipes/05-test_rc2.t b/test/recipes/05-test_rc2.t index 056067faedf..423b3b7949b 100644 --- a/test/recipes/05-test_rc2.t +++ b/test/recipes/05-test_rc2.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_rc2"); - -plan tests => 1; -ok(run(test(["rc2test"])), "running rc2test"); +simple_test("test_rc2", "rc2test", "rc2"); diff --git a/test/recipes/05-test_rc4.t b/test/recipes/05-test_rc4.t index a789fe0532d..a16455fe1fc 100644 --- a/test/recipes/05-test_rc4.t +++ b/test/recipes/05-test_rc4.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_rc4"); - -plan tests => 1; -ok(run(test(["rc4test"])), "running rc4test"); +simple_test("test_rc4", "rc4test", "rc4"); diff --git a/test/recipes/05-test_rc5.t b/test/recipes/05-test_rc5.t index 6e90937cb4d..4c5390a9c03 100644 --- a/test/recipes/05-test_rc5.t +++ b/test/recipes/05-test_rc5.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_rc5"); - -plan tests => 1; -ok(run(test(["rc5test"])), "running rc5test"); +simple_test("test_rc5", "rc5test", "rc5"); diff --git a/test/recipes/05-test_rmd.t b/test/recipes/05-test_rmd.t index 3915cd42f94..7ad91c4ae4e 100644 --- a/test/recipes/05-test_rmd.t +++ b/test/recipes/05-test_rmd.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_rmd"); - -plan tests => 1; -ok(run(test(["rmdtest"])), "running rmdtest"); +simple_test("test_rmd", "rmdtest", "rmd"); diff --git a/test/recipes/05-test_sha1.t b/test/recipes/05-test_sha1.t index 8f7d2fca936..9f8a5703562 100644 --- a/test/recipes/05-test_sha1.t +++ b/test/recipes/05-test_sha1.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_sha1"); - -plan tests => 1; -ok(run(test(["sha1test"])), "running sha1test"); +simple_test("test_sha1", "sha1test", "sha1"); diff --git a/test/recipes/05-test_sha256.t b/test/recipes/05-test_sha256.t index 65088324df2..cb63aa82d98 100644 --- a/test/recipes/05-test_sha256.t +++ b/test/recipes/05-test_sha256.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_sha256"); - -plan tests => 1; -ok(run(test(["sha256t"])), "running sha256t"); +simple_test("test_sha256", "sha256t", "sha256"); diff --git a/test/recipes/05-test_sha512.t b/test/recipes/05-test_sha512.t index 9c9bc18b4d8..f353ac13732 100644 --- a/test/recipes/05-test_sha512.t +++ b/test/recipes/05-test_sha512.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_sha512"); - -plan tests => 1; -ok(run(test(["sha512t"])), "running sha512t"); +simple_test("test_sha512", "sha512t", "sha512"); diff --git a/test/recipes/05-test_wp.t b/test/recipes/05-test_wp.t index 9645670a26d..c05be9c5e9e 100644 --- a/test/recipes/05-test_wp.t +++ b/test/recipes/05-test_wp.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_wp"); - -plan tests => 1; -ok(run(test(["wp_test"])), "running wp_test"); +simple_test("test_wp", "wptest", "wp"); diff --git a/test/recipes/10-test_exp.t b/test/recipes/10-test_exp.t index e7bad93f8a4..b8083e7ad56 100644 --- a/test/recipes/10-test_exp.t +++ b/test/recipes/10-test_exp.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_exp"); - -plan tests => 1; -ok(run(test(["exptest"])), "running exptest"); +simple_test("test_exp", "exptest"); diff --git a/test/recipes/15-test_dh.t b/test/recipes/15-test_dh.t index 957df4a7391..35e9564438a 100644 --- a/test/recipes/15-test_dh.t +++ b/test/recipes/15-test_dh.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_dh"); - -plan tests => 1; -ok(run(test(["dhtest"])), "running dhtest"); +simple_test("test_dh", "dhtest", "dh"); diff --git a/test/recipes/15-test_ecdh.t b/test/recipes/15-test_ecdh.t index 4c0d97e7295..7cdfea6f91d 100644 --- a/test/recipes/15-test_ecdh.t +++ b/test/recipes/15-test_ecdh.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_ecdh"); - -plan tests => 1; -ok(run(test(["ecdhtest"])), "running ecdhtest"); +simple_test("test_ecdh", "ecdhtest", "ecdh"); diff --git a/test/recipes/15-test_ecdsa.t b/test/recipes/15-test_ecdsa.t index 2cd144b3053..aa4622f9d76 100644 --- a/test/recipes/15-test_ecdsa.t +++ b/test/recipes/15-test_ecdsa.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_ecdsa"); - -plan tests => 1; -ok(run(test(["ecdsatest"])), "running ecdsatest"); +simple_test("test_ecdsa", "ecdsatest", "ecdsa"); diff --git a/test/recipes/90-test_constant_time.t b/test/recipes/90-test_constant_time.t index 4bdd0a08d0e..cfdb578e64a 100644 --- a/test/recipes/90-test_constant_time.t +++ b/test/recipes/90-test_constant_time.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_constant_time"); - -plan tests => 1; -ok(run(test(["constant_time_test"])), "running constant_time_test"); +simple_test("test_constant_time", "constant_time_test"); diff --git a/test/recipes/90-test_heartbeat.t b/test/recipes/90-test_heartbeat.t index 5e226703a38..660f630f9ec 100644 --- a/test/recipes/90-test_heartbeat.t +++ b/test/recipes/90-test_heartbeat.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_heartbeat"); - -plan tests => 1; -ok(run(test(["heartbeat_test"])), "running heartbeat_test"); +simple_test("test_heartbeat", "heartbeat_test"); diff --git a/test/recipes/90-test_ige.t b/test/recipes/90-test_ige.t index 6c991472c99..f0083500858 100644 --- a/test/recipes/90-test_ige.t +++ b/test/recipes/90-test_ige.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_ige"); - -plan tests => 1; -ok(run(test(["igetest"])), "running igetest"); +simple_test("test_ige", "igetest"); diff --git a/test/recipes/90-test_jpake.t b/test/recipes/90-test_jpake.t index 5b83df77077..fa1292af746 100644 --- a/test/recipes/90-test_jpake.t +++ b/test/recipes/90-test_jpake.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_jpake"); - -plan tests => 1; -ok(run(test(["jpaketest"])), "running jpaketest"); +simple_test("test_jpake", "jpaketest"); diff --git a/test/recipes/90-test_p5_crpt2.t b/test/recipes/90-test_p5_crpt2.t index e03c5b67bee..838e0d7e4da 100644 --- a/test/recipes/90-test_p5_crpt2.t +++ b/test/recipes/90-test_p5_crpt2.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_p5_crpt2"); - -plan tests => 1; -ok(run(test(["p5_crpt2_test"])), "running p5_crpt2_test"); +simple_test("test_p5_crpt2", "p5_crpt2_test"); diff --git a/test/recipes/90-test_srp.t b/test/recipes/90-test_srp.t index 962402043c7..6be2c39ff1b 100644 --- a/test/recipes/90-test_srp.t +++ b/test/recipes/90-test_srp.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_srp"); - -plan tests => 1; -ok(run(test(["srptest"])), "running srptest"); +simple_test("test_srp", "srptest"); diff --git a/test/recipes/90-test_v3name.t b/test/recipes/90-test_v3name.t index 17ac8b33841..2a8a4724591 100644 --- a/test/recipes/90-test_v3name.t +++ b/test/recipes/90-test_v3name.t @@ -1,12 +1,5 @@ #! /usr/bin/perl -use strict; -use warnings; +use OpenSSL::Test::Simple; -use Test::More; -use OpenSSL::Test; - -setup("test_v3name"); - -plan tests => 1; -ok(run(test(["v3nametest"])), "running v3nametest"); +simple_test("test_v3name", "v3nametest"); diff --git a/test/testlib/OpenSSL/Test/Simple.pm b/test/testlib/OpenSSL/Test/Simple.pm new file mode 100644 index 00000000000..94f6cf935b2 --- /dev/null +++ b/test/testlib/OpenSSL/Test/Simple.pm @@ -0,0 +1,32 @@ +package OpenSSL::Test::Simple; + +use strict; +use warnings; + +use Exporter; +use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); +$VERSION = "0.1"; +@ISA = qw(Exporter); +@EXPORT = qw(simple_test); + + +use Test::More; +use OpenSSL::Test; + +# args: +# name (used with setup()) +# algorithm (used to check if it's at all supported) +# name of binary (the program that does the actual test) +sub simple_test { + my ($name, $prgr, $algo, @rest) = @_; + + setup($name); + + plan tests => 1; + SKIP: { + skip "$algo is not supported by this OpenSSL build, skipping this test...", 1 + if $algo && run(app(["openssl", "no-$algo"])); + + ok(run(test([$prgr])), "running $prgr"); + } +} -- 2.47.3