From: Richard Levitte Date: Tue, 29 Mar 2016 17:41:20 +0000 (+0200) Subject: Have OpenSsl..Test::app() and friends look for file in source as well X-Git-Tag: OpenSSL_1_1_0-pre5~191 X-Git-Url: https://git.openssl.org/?p=openssl.git;a=commitdiff_plain;h=fbd361eaf84446e8d6860ab2b7ecf9d04585f2ef;ds=sidebyside Have OpenSsl..Test::app() and friends look for file in source as well If the command file that app(), test(), perlapp(9 and perltest() are looking for doesn't exist in the build tree, look for it in the source tree as well. Reviewed-by: Emilia Käsper --- diff --git a/test/testlib/OpenSSL/Test.pm b/test/testlib/OpenSSL/Test.pm index 36bb571dfc..c0471f918b 100644 --- a/test/testlib/OpenSSL/Test.pm +++ b/test/testlib/OpenSSL/Test.pm @@ -642,9 +642,11 @@ failures will result in a C at the end of its run. sub __env { $directories{SRCTOP} = $ENV{SRCTOP} || $ENV{TOP}; $directories{BLDTOP} = $ENV{BLDTOP} || $ENV{TOP}; - $directories{APPS} = $ENV{BIN_D} || __bldtop_dir("apps"); - $directories{TEST} = $ENV{TEST_D} || __bldtop_dir("test"); - $directories{RESULTS} = $ENV{RESULT_D} || $directories{TEST}; + $directories{BLDAPPS} = $ENV{BIN_D} || __bldtop_dir("apps"); + $directories{SRCAPPS} = __srctop_dir("apps"); + $directories{BLDTEST} = $ENV{TEST_D} || __bldtop_dir("test"); + $directories{SRCTEST} = __srctop_dir("test"); + $directories{RESULTS} = $ENV{RESULT_D} || $directories{BLDTEST}; $end_with_bailout = $ENV{STOPTEST} ? 1 : 0; }; @@ -679,28 +681,36 @@ sub __test_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return catfile($directories{TEST},@_,$f); + $f = catfile($directories{BLDTEST},@_,$f); + $f = catfile($directories{SRCTEST},@_,$f) unless -x $f; + return $f; } sub __perltest_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return ($^X, catfile($directories{TEST},@_,$f)); + $f = catfile($directories{BLDTEST},@_,$f); + $f = catfile($directories{SRCTEST},@_,$f) unless -f $f; + return ($^X, $f); } sub __apps_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return catfile($directories{APPS},@_,$f); + $f = catfile($directories{BLDAPPS},@_,$f); + $f = catfile($directories{SRCAPPS},@_,$f) unless -x $f; + return $f; } sub __perlapps_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return ($^X, catfile($directories{APPS},@_,$f)); + $f = catfile($directories{BLDAPPS},@_,$f); + $f = catfile($directories{SRCAPPS},@_,$f) unless -f $f; + return ($^X, $f); } sub __results_file { @@ -757,9 +767,11 @@ sub __cwd { if ($debug) { print STDERR "DEBUG: __cwd(), directories and files:\n"; - print STDERR " \$directories{TEST} = \"$directories{TEST}\"\n"; + print STDERR " \$directories{BLDTEST} = \"$directories{BLDTEST}\"\n"; + print STDERR " \$directories{SRCTEST} = \"$directories{SRCTEST}\"\n"; print STDERR " \$directories{RESULTS} = \"$directories{RESULTS}\"\n"; - print STDERR " \$directories{APPS} = \"$directories{APPS}\"\n"; + print STDERR " \$directories{BLDAPPS} = \"$directories{BLDAPPS}\"\n"; + print STDERR " \$directories{SRCAPPS} = \"$directories{SRCAPPS}\"\n"; print STDERR " \$directories{SRCTOP} = \"$directories{SRCTOP}\"\n"; print STDERR " \$directories{BLDTOP} = \"$directories{BLDTOP}\"\n"; print STDERR "\n";