From 4ada8be2a6c538ee66a9a35a182052f359fc94b3 Mon Sep 17 00:00:00 2001 From: Andy Polyakov Date: Mon, 12 Oct 2015 22:16:07 +0200 Subject: [PATCH] Test suite: minimal required to get mingw 'make test' work under Linux. (part by Alessandro Ghedini) Reviewed-by: Richard Levitte --- test/recipes/25-test_verify.t | 3 +++ test/recipes/80-test_ssl.t | 2 +- test/recipes/tconversion.pl | 12 ++++++++++-- test/testlib/OpenSSL/Test.pm | 12 ++++++++++-- test/testlib/OpenSSL/Test/Utils.pm | 2 +- util/shlib_wrap.sh | 2 +- 6 files changed, 26 insertions(+), 7 deletions(-) diff --git a/test/recipes/25-test_verify.t b/test/recipes/25-test_verify.t index 10897a1d71..7c0f091e10 100644 --- a/test/recipes/25-test_verify.t +++ b/test/recipes/25-test_verify.t @@ -8,6 +8,9 @@ use OpenSSL::Test qw/:DEFAULT top_dir top_file/; setup("test_verify"); +plan skip_all => "no rehash.time was found." + unless (-f top_file("rehash.time")); + plan tests => 1; note("Expect some failures and expired certificate"); diff --git a/test/recipes/80-test_ssl.t b/test/recipes/80-test_ssl.t index 6e5e22e49b..5f520ded11 100644 --- a/test/recipes/80-test_ssl.t +++ b/test/recipes/80-test_ssl.t @@ -414,7 +414,7 @@ sub testssl { map { split(/:/, $_) } run(app(["openssl", "ciphers", "${_}:$ciphers"]), capture => 1); - chomp @c; + map { s/\R//; } @c; # chomp @c; $protocolciphersuitcount += scalar @c; $_ => [ @c ] } @protocols; diff --git a/test/recipes/tconversion.pl b/test/recipes/tconversion.pl index 011dcbffb9..07e34060f3 100644 --- a/test/recipes/tconversion.pl +++ b/test/recipes/tconversion.pl @@ -68,14 +68,14 @@ sub tconversion { } if ($testtype ne "p7d") { - is(compare_text("$testtype-fff.p", "$testtype-f.p"), 0, + is(cmp_text("$testtype-fff.p", "$testtype-f.p"), 0, 'comparing orig to p'); } foreach my $to (@conversionforms) { next if $to eq "d"; foreach my $from (@conversionforms) { - is(compare_text("$testtype-f.$to", "$testtype-ff.$from$to"), 0, + is(cmp_text("$testtype-f.$to", "$testtype-ff.$from$to"), 0, "comparing $to to $from$to"); } } @@ -85,4 +85,12 @@ sub tconversion { unlink glob "$testtype-fff.*"; } +sub cmp_text { + return compare_text(@_, sub { + $_[0] =~ s/\R//g; + $_[1] =~ s/\R//g; + return $_[0] ne $_[1]; + }); +} + 1; diff --git a/test/testlib/OpenSSL/Test.pm b/test/testlib/OpenSSL/Test.pm index c64d68de46..453e3d79de 100644 --- a/test/testlib/OpenSSL/Test.pm +++ b/test/testlib/OpenSSL/Test.pm @@ -357,7 +357,7 @@ operating system. =cut sub top_dir { - return __top_file(@_, ""); # This caters for operating systems that have + return __top_dir(@_); # This caters for operating systems that have # a very distinct syntax for directories. } @@ -577,6 +577,12 @@ sub __top_file { return catfile($directories{TOP},@_,$f); } +sub __top_dir { + BAIL_OUT("Must run setup() first") if (! $test_name); + + return catdir($directories{TOP},@_); +} + sub __test_file { BAIL_OUT("Must run setup() first") if (! $test_name); @@ -668,7 +674,9 @@ sub __fixup_cmd { my $prefix = __top_file("util", "shlib_wrap.sh")." "; my $ext = $ENV{"EXE_EXT"} || ""; - if ( $^O eq "VMS" ) { # VMS + if (defined($ENV{EXE_SHELL})) { + $prefix = "$ENV{EXE_SHELL} "; + } elsif ($^O eq "VMS" ) { # VMS $prefix = "mcr "; $ext = ".exe"; } elsif ($^O eq "MSWin32") { # Windows diff --git a/test/testlib/OpenSSL/Test/Utils.pm b/test/testlib/OpenSSL/Test/Utils.pm index fc9b533613..5312c205a0 100644 --- a/test/testlib/OpenSSL/Test/Utils.pm +++ b/test/testlib/OpenSSL/Test/Utils.pm @@ -46,7 +46,7 @@ my $disabled_set = 0; sub check_disabled { #print STDERR "Running check_disabled\n"; foreach (run(app(["openssl", "list", "-disabled"]), capture => 1)) { - chomp; + s/\R//; # chomp; next if /:/; # skip header $disabled{lc $_} = 1; } diff --git a/util/shlib_wrap.sh b/util/shlib_wrap.sh index 8775cb5411..646b0fe169 100755 --- a/util/shlib_wrap.sh +++ b/util/shlib_wrap.sh @@ -88,7 +88,7 @@ if [ -f "$LIBCRYPTOSO" -a -z "$preload_var" ]; then export LD_PRELOAD _RLD_LIST DYLD_INSERT_LIBRARIES fi -cmd="$1${EXE_EXT}" +cmd="$1"; [ -x "$cmd" ] || cmd="$cmd${EXE_EXT}" shift if [ $# -eq 0 ]; then exec "$cmd" # old sh, such as Tru64 4.x, fails to expand empty "$@" -- 2.34.1