Simplify Simple.pm further, and make it more verbose
[openssl.git] / test / testlib / OpenSSL / Test / Simple.pm
index 94f6cf935b20dbd5a56d94d9c779f45a38fa42c1..dfae026014442869f6add412b4c72f65f468fe1e 100644 (file)
@@ -5,13 +5,47 @@ use warnings;
 
 use Exporter;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
-$VERSION = "0.1";
+$VERSION = "0.2";
 @ISA = qw(Exporter);
 @EXPORT = qw(simple_test);
 
+=head1 NAME
+
+OpenSSL::Test::Simple - a few very simple test functions
+
+=head1 SYNOPSIS
+
+  use OpenSSL::Test::Simple;
+
+  simple_test("my_test_name", "des", "destest");
+
+=head1 DESCRIPTION
+
+Sometimes, the functions in L<OpenSSL::Test> are quite tedious for some
+repetitive tasks.  This module provides functions to make life easier.
+You could call them hacks if you wish.
+
+=cut
 
-use Test::More;
 use OpenSSL::Test;
+use OpenSSL::Test::Utils;
+
+=over 4
+
+=item B<simple_test NAME, PROGRAM, ALGORITHM>
+
+Runs a test named NAME, running the program PROGRAM with no arguments,
+to test the algorithm ALGORITHM.
+
+A complete recipe looks like this:
+
+  use OpenSSL::Test::Simple;
+
+  simple_test("test_bf", "bftest", "bf");
+
+=back
+
+=cut
 
 # args:
 #  name                        (used with setup())
@@ -22,11 +56,23 @@ sub simple_test {
 
     setup($name);
 
+    plan skip_all => "$algo is not supported by this OpenSSL build"
+        if $algo && disabled($algo);
+
     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");
-    }
+    ok(run(test([$prgr])), "running $prgr");
 }
+
+=head1 SEE ALSO
+
+L<OpenSSL::Test>
+
+=head1 AUTHORS
+
+Richard Levitte E<lt>levitte@openssl.orgE<gt> with inspiration
+from Rich Salz E<lt>rsalz@openssl.orgE<gt>.
+
+=cut
+
+1;