This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Get t/comp/hints.t working under miniperl
authorFather Chrysostomos <sprout@cpan.org>
Tue, 2 Sep 2014 07:06:26 +0000 (00:06 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Wed, 3 Sep 2014 03:11:16 +0000 (20:11 -0700)
As of commit 2db3e09128, compiling /\x{100}/i is an error in miniperl
if Unicode tables have not been loaded yet.  This can happen in
minitest if things are broken enough that make_ext.pl cannot run.

t/comp/hints.t

index 391287c..307f298 100644 (file)
@@ -122,7 +122,12 @@ BEGIN {
     my $res;
     BEGIN { $^H{73174} = "foo" }
     BEGIN { $res = ($^H{73174} // "") }
-    "" =~ /\x{100}/i;  # forces loading of utf8.pm, which used to reset %^H
+    # /x{100}/i forces loading of utf8.pm, which used to reset %^H
+    eval '"" =~ /\x{100}/i; 1'
+       # Allow miniperl to fail this regexp compilation (effectively skip
+       # the test) in case tables have not been build, but require real
+       # perl to succeed.
+       or defined &DynaLoader::boot_DynaLoader and die;        
     BEGIN { $res .= '-' . ($^H{73174} // "")}
     $res .= '-' . ($^H{73174} // "");
     print $res eq "foo-foo-" ? "" : "not ",