| # Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. |
| # |
| # Licensed under the Apache License 2.0 (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; |