From c8943eb04ae41506ec8a1869103e2e1dec6bfcd8 Mon Sep 17 00:00:00 2001 From: Richard Levitte Date: Tue, 21 Jan 2020 07:53:40 +0100 Subject: [PATCH] OpenSSL::Test: bring back the relative paths Because there was a bug in File::Spec::Unix' abs2rel when it was given relative paths as both PATH and BASE arguments, the directories we deal with were made to be all absolute. Unfortunately, this meant getting paths in our verbose test output which are difficult to use anywhere else (such as a separate test build made for comparison), due to the constant need to edit all the paths all the time. We're therefore getting back the relative paths, by doing an extra abs2rel() in __srctop_file, __srctop_dir, __bldtop_file and __bldtop_dir, with a 'Cwd::getcwd' call as BASE argument. Fixes #10628 Reviewed-by: Matt Caswell Reviewed-by: Matthias St. Pierre (Merged from https://github.com/openssl/openssl/pull/10913) (cherry picked from commit 612539e8a678c6099131dfd0e5e4b85fa774eb1a) --- util/perl/OpenSSL/Test.pm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/util/perl/OpenSSL/Test.pm b/util/perl/OpenSSL/Test.pm index 49fb88feb7..a331796c5d 100644 --- a/util/perl/OpenSSL/Test.pm +++ b/util/perl/OpenSSL/Test.pm @@ -65,7 +65,7 @@ use File::Spec::Functions qw/file_name_is_absolute curdir canonpath splitdir rel2abs/; use File::Path 2.00 qw/rmtree mkpath/; use File::Basename; -use Cwd qw/abs_path/; +use Cwd qw/getcwd abs_path/; my $level = 0; @@ -904,26 +904,26 @@ sub __srctop_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return catfile($directories{SRCTOP},@_,$f); + return abs2rel(catfile($directories{SRCTOP},@_,$f),getcwd); } sub __srctop_dir { BAIL_OUT("Must run setup() first") if (! $test_name); - return catdir($directories{SRCTOP},@_); + return abs2rel(catdir($directories{SRCTOP},@_), getcwd); } sub __bldtop_file { BAIL_OUT("Must run setup() first") if (! $test_name); my $f = pop; - return catfile($directories{BLDTOP},@_,$f); + return abs2rel(catfile($directories{BLDTOP},@_,$f), getcwd); } sub __bldtop_dir { BAIL_OUT("Must run setup() first") if (! $test_name); - return catdir($directories{BLDTOP},@_); + return abs2rel(catdir($directories{BLDTOP},@_), getcwd); } # __exeext is a function that returns the platform dependent file extension -- 2.25.1