This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
t/perf/optree.t: add use warnings, strict
authorDavid Mitchell <davem@iabyn.com>
Wed, 4 Jan 2017 09:16:51 +0000 (09:16 +0000)
committerDavid Mitchell <davem@iabyn.com>
Fri, 6 Jan 2017 16:28:27 +0000 (16:28 +0000)
t/perf/optree.t

index 49959ce..689a622 100644 (file)
@@ -3,6 +3,9 @@
 # Use B to test that optimisations are not inadvertently removed,
 # by examining particular nodes in the optree.
 
+use warnings;
+use strict;
+
 BEGIN {
     chdir 't';
     require './test.pl';
@@ -80,11 +83,18 @@ for my $test (
     [ "---", '@a = (split(//, @a), 1)',         'split(@a)'   ],
     [ "--A", 'my @a; my $ar = @a; @a = (@$ar = split())', 'a/ar split'  ],
 ) {
+
     my ($exp, $code, $desc) = @$test;
-    my $sub = eval "sub { $code }"
-        or die
-            "aassign eval('$code') failed: this test needs to be rewritten:\n"
-            . $@;
+    my $sub;
+    {
+        # package vars used in code snippets
+        our (@a, %a, @b, %b, $c, $p, $q, $x, $y, @y, @z);
+
+        $sub = eval "sub { $code }"
+            or die
+                "aassign eval('$code') failed: this test needs"
+                . "to be rewritten:\n$@"
+    }
 
     my $last_expr = svref_2object($sub)->ROOT->first->last;
     if ($last_expr->name ne 'aassign') {