Skip 'yield to subst context' tests on perl 5.8 and below
authorVincent Pit <vince@profvince.com>
Wed, 2 Jan 2013 00:22:27 +0000 (01:22 +0100)
committerVincent Pit <vince@profvince.com>
Wed, 2 Jan 2013 00:22:27 +0000 (01:22 +0100)
The snippet :

    my $s = "foo";
    eval { $s =~ s/./die "wut"/e };
    qr/bar/;

segfaults on a threaded, debugging and poisonous perl 5.8.9. Just to be
safe, the relevant test won't be run before perl 5.10.

t/55-yield-target.t
t/58-yield-misc.t

index 46ea7f5..f927d20 100644 (file)
@@ -63,7 +63,9 @@ is_deeply \@res, [ 15, 19 ], 'yield() in for () { ... }';
 is $loop, 21, 'yield() exited while';
 is_deeply \@res, [ 20, 23 ], 'yield() in while () { ... }';
 
-{
+SKIP: {
+ skip '"eval { $str =~ s/./die q[foo]/e }" breaks havoc on perl 5.8 and below'
+                                                           => 1 if "$]" < 5.010;
  my $s = 'a';
  local $@;
  eval {
index ca6fda0..3243272 100644 (file)
@@ -121,7 +121,9 @@ sub guard { VPIT::TestHelpers::Guard->new(sub { ++$destroyed }) }
  is "@res", '1 2 3 4', 'leave with arguments';
 }
 
-{
+SKIP: {
+ skip '"eval { $str =~ s/./die q[foo]/e }" breaks havoc on perl 5.8 and below'
+                                                           => 1 if "$]" < 5.010;
  my $s = 'a';
  local $@;
  eval {