mirror of
https://github.com/openssl/openssl.git
synced 2024-12-09 05:51:54 +08:00
42e0ccdfe8
To be able to run tests when we've built in a directory other than the source tree, the testing framework needs a few adjustments. test/testlib/OpenSSL/Test.pm needs to know where it can find shlib_wrap.sh, and a number of other tests need to be told a different place to find engines than what they may be able to figure out on their own. Relying to $TOP is not enough, $SRCTOP and $BLDTOP can be used as an alternative. As part of this change, top_file and top_dir are removed and srctop_file, bldtop_file, srctop_dir and bldtop_dir take their place. Reviewed-by: Ben Laurie <ben@openssl.org>
44 lines
942 B
Perl
44 lines
942 B
Perl
#! /usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use File::Spec;
|
|
use OpenSSL::Test qw/:DEFAULT srctop_file/;
|
|
|
|
setup("test_req");
|
|
|
|
plan tests => 3;
|
|
|
|
require_ok(srctop_file('test','recipes','tconversion.pl'));
|
|
|
|
my @openssl_args = ("req", "-config", srctop_file("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//; } <DATA>;
|
|
|
|
tconversion("req", "testreq.pem", @openssl_args);
|
|
}
|
|
close DATA;
|
|
unlink "req-check.err";
|
|
|
|
done_testing();
|
|
};
|
|
}
|