mirror of
https://github.com/openssl/openssl.git
synced 2025-01-30 14:01:55 +08:00
Add Utils.pm
Add Utils.pm for test utilities. This currently just contains one function: disabled which checks if a feature is disabled based on the output of openssl list -disabled Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
f5349f8ca5
commit
0d297b42b5
84
test/testlib/OpenSSL/Test/Utils.pm
Normal file
84
test/testlib/OpenSSL/Test/Utils.pm
Normal file
@ -0,0 +1,84 @@
|
||||
package OpenSSL::Test::Utils;
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Exporter;
|
||||
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
||||
$VERSION = "0.1";
|
||||
@ISA = qw(Exporter);
|
||||
@EXPORT = qw(disabled);
|
||||
|
||||
=head1 NAME
|
||||
|
||||
OpenSSL::Test::Utils - test utility functions
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
use OpenSSL::Test::Utils;
|
||||
|
||||
disabled("dh");
|
||||
|
||||
=head1 DESCRIPTION
|
||||
|
||||
This module provides utility functions for the testing framework.
|
||||
|
||||
=cut
|
||||
|
||||
use OpenSSL::Test;
|
||||
|
||||
=over 4
|
||||
|
||||
=item B<disabled ARRAY>
|
||||
|
||||
In a scalar context returns 1 if any of the features in ARRAY is disabled.
|
||||
|
||||
In an array context returns an array with each element set to 1 if the
|
||||
corresponding feature is disabled and 0 otherwise.
|
||||
|
||||
=back
|
||||
|
||||
=cut
|
||||
|
||||
our %disabled;
|
||||
my $disabled_set = 0;
|
||||
|
||||
sub check_disabled {
|
||||
#print STDERR "Running check_disabled\n";
|
||||
foreach (run(app(["openssl", "list", "-disabled"]), capture => 1)) {
|
||||
chomp;
|
||||
next if /:/; # skip header
|
||||
$disabled{lc $_} = 1;
|
||||
}
|
||||
$disabled_set = 1;
|
||||
}
|
||||
|
||||
# args:
|
||||
# list of features to check
|
||||
sub disabled {
|
||||
check_disabled() unless $disabled_set;
|
||||
if (wantarray) {
|
||||
my @ret;
|
||||
foreach (@_) {
|
||||
push @ret, exists $disabled{lc $_} ? 1 : 0;
|
||||
}
|
||||
return @ret;
|
||||
}
|
||||
foreach (@_) {
|
||||
return 1 if exists $disabled{lc $_};
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
=head1 SEE ALSO
|
||||
|
||||
L<OpenSSL::Test>
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Stephen Henson E<lt>steve@openssl.orgE<gt> with inspiration
|
||||
from Richard Levitte E<lt>levitte@openssl.orgE<gt>
|
||||
|
||||
=cut
|
||||
|
||||
1;
|
Loading…
Reference in New Issue
Block a user