| # Copyright 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 | |
| package OpenSSL::Test::Simple; | |
| use strict; | |
| use warnings; | |
| use Exporter; | |
| use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); | |
| $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", "destest", "des"); | |
| =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 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()) | |
| # 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, @algos) = @_; | |
| setup($name); | |
| 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; | |
| 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; |