Commit 42e0ccdf authored by Richard Levitte's avatar Richard Levitte
Browse files

unified build scheme: adjust test framework for out of source build tree



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: default avatarBen Laurie <ben@openssl.org>
parent d7465918
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -4,19 +4,19 @@ use strict;

use File::Spec::Functions;
use File::Basename;
use OpenSSL::Test qw/:DEFAULT top_file/;
use OpenSSL::Test qw/:DEFAULT bldtop_file/;

setup("check_testexes");

my $OpenSSL_ver = "";
my $Makefile = top_file("Makefile");
my $Makefile = bldtop_file("Makefile");
if (open(FH, $Makefile)) {
    $OpenSSL_ver =
	(map { s/\R//; s/^VERSION=([^\s]*)\s*$//; $1 } grep { /^VERSION=/ } <FH>)[0];
    close FH;
}

my $MINFO = top_file("MINFO");
my $MINFO = bldtop_file("MINFO");

plan skip_all => "because MINFO not found. If you want this test to run, please do 'perl util/mkfiles.pl > MINFO'"
    unless open(FH,$MINFO);
@@ -50,7 +50,7 @@ my @expected_tests =
plan tests => scalar @expected_tests;

my @found_tests =
    map { basename($_) } glob(top_file("test", "recipes", "*.t"));
    map { basename($_) } glob(bldtop_file("test", "recipes", "*.t"));

foreach my $test (sort @expected_tests) {
    ok(scalar(grep(/^[0-9][0-9]-test_$test\.t$/, @found_tests)),
+3 −3
Original line number Diff line number Diff line
@@ -53,14 +53,14 @@
# Hudson (tjh@cryptsoft.com).

use strict;
use OpenSSL::Test qw/:DEFAULT top_file/;
use OpenSSL::Test qw/:DEFAULT srctop_file/;

setup("test_ordinals");

plan tests => 2;

ok(testordinals(top_file("util", "libeay.num")), "Test libeay.num");
ok(testordinals(top_file("util", "ssleay.num")), "Test ssleay.num");
ok(testordinals(srctop_file("util", "libeay.num")), "Test libeay.num");
ok(testordinals(srctop_file("util", "ssleay.num")), "Test ssleay.num");

sub testordinals
{
+2 −2
Original line number Diff line number Diff line
@@ -5,13 +5,13 @@ use warnings;

use Math::BigInt;

use OpenSSL::Test qw/:DEFAULT top_file/;
use OpenSSL::Test qw/:DEFAULT srctop_file/;

setup("test_bn");

plan tests => 3;

require_ok(top_file("test","recipes","bc.pl"));
require_ok(srctop_file("test","recipes","bc.pl"));

my $testresults = "tmp.bntest";
my $init = ok(run(test(["bntest"], stdout => $testresults)), 'initialize');
+5 −5
Original line number Diff line number Diff line
@@ -4,14 +4,14 @@ use strict;
use warnings;

use File::Spec;
use OpenSSL::Test qw/:DEFAULT top_file/;
use OpenSSL::Test qw/:DEFAULT srctop_file/;
use OpenSSL::Test::Utils;

setup("test_dsa");

plan tests => 6;

require_ok(top_file('test','recipes','tconversion.pl'));
require_ok(srctop_file('test','recipes','tconversion.pl'));

ok(run(test(["dsatest"])), "running dsatest");
ok(run(test(["dsatest", "-app2_1"])), "running dsatest -app2_1");
@@ -21,13 +21,13 @@ ok(run(test(["dsatest", "-app2_1"])), "running dsatest -app2_1");
	 if disabled("dsa");

     subtest 'dsa conversions -- private key' => sub {
	 tconversion("dsa", top_file("test","testdsa.pem"));
	 tconversion("dsa", srctop_file("test","testdsa.pem"));
     };
     subtest 'dsa conversions -- private key PKCS#8' => sub {
	 tconversion("dsa", top_file("test","testdsa.pem"), "pkey");
	 tconversion("dsa", srctop_file("test","testdsa.pem"), "pkey");
     };
     subtest 'dsa conversions -- public key' => sub {
	 tconversion("dsa", top_file("test","testdsapub.pem"), "dsa",
	 tconversion("dsa", srctop_file("test","testdsapub.pem"), "dsa",
		     "-pubin", "-pubout");
     };
}
+5 −5
Original line number Diff line number Diff line
@@ -4,14 +4,14 @@ use strict;
use warnings;

use File::Spec;
use OpenSSL::Test qw/:DEFAULT top_file/;
use OpenSSL::Test qw/:DEFAULT srctop_file/;
use OpenSSL::Test::Utils;

setup("test_ec");

plan tests => 5;

require_ok(top_file('test','recipes','tconversion.pl'));
require_ok(srctop_file('test','recipes','tconversion.pl'));

ok(run(test(["ectest"])), "running ectest");

@@ -20,12 +20,12 @@ ok(run(test(["ectest"])), "running ectest");
	 if disabled("ec");

     subtest 'ec conversions -- private key' => sub {
	 tconversion("ec", top_file("test","testec-p256.pem"));
	 tconversion("ec", srctop_file("test","testec-p256.pem"));
     };
     subtest 'ec conversions -- private key PKCS#8' => sub {
	 tconversion("ec", top_file("test","testec-p256.pem"), "pkey");
	 tconversion("ec", srctop_file("test","testec-p256.pem"), "pkey");
     };
     subtest 'ec conversions -- public key' => sub {
	 tconversion("ec", top_file("test","testecpub-p256.pem"), "ec", "-pubin", "-pubout");
	 tconversion("ec", srctop_file("test","testecpub-p256.pem"), "ec", "-pubin", "-pubout");
     };
}
Loading