package NeedsOpenSSL; use strict; use warnings; use parent qw(TestClass); use Test::More; use File::Which (); use OpenSSL_Control (); sub SKIP_CLASS { my ($self) = @_; return 'No OpenSSL binary!' if !$self->_get_openssl(); return; } sub _get_openssl { my ($self) = @_; return $self->{'_ossl_bin'} ||= do { my $bin = OpenSSL_Control::openssl_bin(); if ($bin) { note "Using OpenSSL binary: $bin"; note OpenSSL_Control::run(qw(version -a)); } $bin; }; } 1;