From: Richard Levitte Date: Thu, 31 Mar 2016 13:02:02 +0000 (+0200) Subject: When looking for executables, don't forget the extension X-Git-Tag: OpenSSL_1_1_0-pre5~180 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d8a52304ae704edb6a5619b6a1604821b75bee50;p=oweals%2Fopenssl.git When looking for executables, don't forget the extension Because some operating systems have executable extensions, typically ".exe", we need to append it when looking for files in test() and app() (or rather, their subroutines). Reviewed-by: Rich Salz --- diff --git a/test/testlib/OpenSSL/Test.pm b/test/testlib/OpenSSL/Test.pm index c2b9f5c589..53a15c4fa5 100644 --- a/test/testlib/OpenSSL/Test.pm +++ b/test/testlib/OpenSSL/Test.pm @@ -680,10 +680,20 @@ sub __bldtop_dir { return catdir($directories{BLDTOP},@_); } +sub __exeext { + my $ext = ""; + if ($^O eq "VMS" ) { # VMS + $ext = ".exe"; + } elsif ($^O eq "MSWin32") { # Windows + $ext = ".exe"; + } + return $ENV{"EXE_EXT"} || $ext; +} + sub __test_file { BAIL_OUT("Must run setup() first") if (! $test_name); - my $f = pop; + my $f = pop . __exeext(); $f = catfile($directories{BLDTEST},@_,$f); $f = catfile($directories{SRCTEST},@_,$f) unless -x $f; return $f; @@ -701,7 +711,7 @@ sub __perltest_file { sub __apps_file { BAIL_OUT("Must run setup() first") if (! $test_name); - my $f = pop; + my $f = pop . __exeext(); $f = catfile($directories{BLDAPPS},@_,$f); $f = catfile($directories{SRCAPPS},@_,$f) unless -x $f; return $f; @@ -790,23 +800,20 @@ sub __fixup_cmd { my $exe_shell = shift; my $prefix = __bldtop_file("util", "shlib_wrap.sh")." "; - my $ext = $ENV{"EXE_EXT"} || ""; if (defined($exe_shell)) { $prefix = "$exe_shell "; } elsif ($^O eq "VMS" ) { # VMS $prefix = ($prog =~ /^(?:[\$a-z0-9_]+:)?[<\[]/i ? "mcr " : "mcr []"); - $ext = ".exe"; } elsif ($^O eq "MSWin32") { # Windows $prefix = ""; - $ext = ".exe"; } # We test both with and without extension. The reason # is that we might be passed a complete file spec, with # extension. if ( ! -x $prog ) { - my $prog = "$prog$ext"; + my $prog = "$prog"; if ( ! -x $prog ) { $prog = undef; }