The below change doesn't work, because "can_load" must be used differently.
When running on SLES 11 which contains perl 1.10.0 (and thus no TAP::Harness module), run_tests.pl gives:
Can't locate object method "new" via package "TAP::Harness" (perhaps you forgot to load "TAP::Harness"?) at .././test/run_tests.pl line 64.
Please see below for a patch. Am 10.05.2017 um 17:05 schrieb Richard Levitte:
The branch master has been updated via 76e0d0b21cc4e8a879d54f4d78a392826dadb1d1 (commit) from 03d8e9cb43da5c524e5890a5a51e2c77f1fbd789 (commit) - Log ----------------------------------------------------------------- commit 76e0d0b21cc4e8a879d54f4d78a392826dadb1d1 Author: Richard Levitte <levi...@openssl.org> Date: Wed May 10 12:58:36 2017 +0200 Prefer TAP::Harness over Test::Harness TAP:Harness came along in perl 5.10.1, and since we claim to support perl 5.10.0 in configuration and testing, we can only load it conditionally. The main reason to use TAP::Harness rather than Test::Harness is its capability to merge stdout and stderr output from the test recipes, which Test::Harness can't. The merge gives much more comprehensible output when testing verbosely. Reviewed-by: Rich Salz <rs...@openssl.org> Reviewed-by: Matt Caswell <m...@openssl.org> (Merged from https://github.com/openssl/openssl/pull/3424) ----------------------------------------------------------------------- Summary of changes: test/run_tests.pl | 58 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 47 insertions(+), 11 deletions(-) diff --git a/test/run_tests.pl b/test/run_tests.pl index 9c5ade1..aa1dba0 100644 --- a/test/run_tests.pl +++ b/test/run_tests.pl @@ -17,7 +17,10 @@ BEGIN { use File::Spec::Functions qw/catdir catfile curdir abs2rel rel2abs/; use File::Basename; use if $^O ne "VMS", 'File::Glob' => qw/glob/; -use Test::Harness qw/runtests $switches/; +use Module::Load::Conditional qw(can_load); + +my $TAP_Harness = can_load({modules => [ 'TAP::Harness' ]}) + ? 'TAP::Harness' : 'OpenSSL::TAP::Harness';
The following patch fixes the can_load use: --- test/run_tests.pl 2017-05-25 16:21:00.000000000 +0200 +++ test/run_tests.pl 2017-05-25 21:07:20.066149000 +0200 @@ -19,7 +19,7 @@ use if $^O ne "VMS", 'File::Glob' => qw/glob/; use Module::Load::Conditional qw(can_load); -my $TAP_Harness = can_load({modules => [ 'TAP::Harness' ]}) +my $TAP_Harness = can_load(modules => { 'TAP::Harness' => undef }) ? 'TAP::Harness' : 'OpenSSL::TAP::Harness'; my $srctop = $ENV{SRCTOP} || $ENV{TOP}; It should be applied to master and the 1.1.0 branch. Should I open a GH issue or pull request for that trivial change? Thanks a bunch, Rainer -- openssl-dev mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev