From 25a4a90c0d533001fabb740974d06b3875d955df Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Tue, 12 Mar 2013 22:34:17 -0600 Subject: [PATCH] t/TEST: Don't bail if fails in t/base unless minitest In order to completely compile Perl, many modules must have been parsed and compiled, so if there is a full perl, we know that things basically work. The purpose of bailing out is that if these supposedly very base level functionality tests don't work, there's no point in continuing. But over the years, tests of more esoteric functionality have been added here, and if one of them doesn't work, it still could be that Perl pretty much does work. I believe it would be best to move such non-basic tests elsewhere, but that's work, and hasn't bitten us much so far; this change lessens the severity of the biting even more. Where it will really bite is if things are so bad that a full perl binary can't be compiled, and we are trying to figure out why using minitest. --- t/TEST | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/t/TEST b/t/TEST index 618db5f..3c00b5e 100755 --- a/t/TEST +++ b/t/TEST @@ -748,8 +748,11 @@ EOT if (defined $failure) { print "${te}$failure\n"; $::bad_files = $::bad_files + 1; - if ($test =~ /^base/) { - die "Failed a basic test ($test) -- cannot continue.\n"; + if ($test =~ /^base/ && ! defined &DynaLoader::boot_DynaLoader) { + # Die if running under minitest (no DynaLoader). Otherwise + # keep going, as we know that Perl basically works, or we + # would not have been able to actually compile it all the way. + die "Failed a basic test ($test) under minitest -- cannot continue.\n"; } $failed_tests{$test} = 1; } -- 1.8.3.1