Fix OpenSSL::Test::Simple to take more than one algorithm
authorRichard Levitte <levitte@openssl.org>
Sun, 24 Jan 2016 15:23:55 +0000 (16:23 +0100)
committerRichard Levitte <levitte@openssl.org>
Mon, 25 Jan 2016 00:55:11 +0000 (01:55 +0100)
Some test programs may depend on more than just one TLS version, for
example.

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
test/testlib/OpenSSL/Test/Simple.pm

index dfae026..b596e5f 100644 (file)
@@ -17,7 +17,7 @@ OpenSSL::Test::Simple - a few very simple test functions
 
   use OpenSSL::Test::Simple;
 
-  simple_test("my_test_name", "des", "destest");
+  simple_test("my_test_name", "destest", "des");
 
 =head1 DESCRIPTION
 
@@ -52,12 +52,18 @@ A complete recipe looks like this:
 #  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) = @_;
+    my ($name, $prgr, @algos) = @_;
 
     setup($name);
 
-    plan skip_all => "$algo is not supported by this OpenSSL build"
-        if $algo && disabled($algo);
+    if (scalar(disabled(@algos))) {
+       if (scalar(@algos) == 1) {
+           plan skip_all => $algos[0]." is not supported by this OpenSSL build";
+       } else {
+           my $last = pop @algos;
+           plan skip_all => join(", ", @algos)." and $last are not supported by this OpenSSL build";
+       }
+    }
 
     plan tests => 1;