#! /usr/bin/perl use strict; use warnings; use File::Spec; use OpenSSL::Test qw/:DEFAULT top_file/; setup("test_req"); plan tests => 3; require_ok(top_file('test','recipes','tconversion.pl')); my @openssl_args = ("req", "-config", "../apps/openssl.cnf"); run_conversion('req conversions', "testreq.pem"); run_conversion('req conversions -- testreq2', "testreq2.pem"); sub run_conversion { my $title = shift; my $reqfile = shift; subtest $title => sub { run(app(["openssl", @openssl_args, "-in", $reqfile, "-inform", "p", "-noout", "-text"], stderr => "req-check.err", stdout => undef)); open DATA, "req-check.err"; SKIP: { plan skip_all => "skipping req conversion test for $reqfile" if grep /Unknown Public Key/, map { s/\R//; } ; tconversion("req", "testreq.pem", @openssl_args); } close DATA; unlink "req-check.err"; done_testing(); }; }