Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

fix test 15 (again) by forcing DynaLoader earlier

  • Loading branch information...
commit a7f7f784383a076161c5a6e1b5013dfdd80435fe 1 parent f2ee998
@rurban authored
Showing with 7 additions and 3 deletions.
  1. +3 −1 lib/B/C.pm
  2. +4 −2 t/test.pl
View
4 lib/B/C.pm
@@ -1280,7 +1280,8 @@ sub method_named {
return svref_2object( \&{$method} );
} else {
return if $method =~ /^threads::(GV|NAME|STASH)$/; # Carp artefact to ignore B
- # Without ithreads threads.pm is not loaded
+ # Without ithreads threads.pm is not loaded. This broke 15 by sideeffect,
+ # omitting DynaLoader methods.
return if $method eq 'threads::tid' and !$ITHREADS;
return svref_2object( \&{'UNIVERSAL::isa'} ) if $method eq 'B::OP::isa';
if (my $parent = try_isa($p,$name)) {
@@ -3907,6 +3908,7 @@ sub B::IO::save_data {
require PerlIO;
require PerlIO::scalar;
$savINC{'PerlIO.pm'} = $INC{'PerlIO.pm'}; # as it was loaded from BEGIN
+ force_saving_xsloader();
mark_package("PerlIO", 1);
$savINC{'PerlIO/scalar.pm'} = $INC{'PerlIO/scalar.pm'};
$xsub{'PerlIO::scalar'} = 'Dynamic-'.$INC{'PerlIO/scalar.pm'}; # force dl_init boot
View
6 t/test.pl
@@ -615,11 +615,13 @@ sub run_c_tests {
if ($cnt == 29 and $Config{cc} =~ /^cl/i and $backend ne 'C') {
$todo{$cnt} = $skip{$cnt} = 1;
}
+ $backend .= ",-UB" if $cnt == 15;
+ $backend .= ",-fstash" if $cnt == 46;
if ($todo{$cnt} and $skip{$cnt} and
# those are currently blocking the system
# do not even run them at home if TODO+SKIP
(!$AUTHOR
- or ($cnt==15 and $backend eq 'C,-O1') # hanging
+ #or ($cnt==15 and $backend eq 'C,-O1') # hanging
or ($cnt==103 and $backend eq 'CC,-O2') # hanging
))
{
@@ -627,7 +629,7 @@ sub run_c_tests {
} else {
my ($script, $expect) = split />>>+\n/;
die "Invalid empty t/TESTS" if !$script or $expect eq '';
- run_cc_test($cnt, $backend.($cnt == 46 ? ',-fstash' : ''),
+ run_cc_test($cnt, $backend,
$script, $expect, $keep_c, $keep_c_fail, $todo);
}
$cnt++;
Please sign in to comment.
Something went wrong with that request. Please try again.