sub zap (&) { }
+TEST:
{
local $/ = "####";
s/^\s+//s;
my ($code, $expected) = split /^-{4,}$/m, $_, 2;
- my @expected = eval $expected;
-
- my @violations = eval { pcritique_with_violations($policy, \$code) };
+ my @expected;
+ {
+ local $@;
+ @expected = eval $expected;
+ if ($@) {
+ diag "Compilation of expected code $id failed: $@";
+ next TEST;
+ }
+ }
- if ($@) {
- diag "Compilation $id failed: $@";
- next;
+ my @violations;
+ {
+ local $@;
+ @violations = eval { pcritique_with_violations($policy, \$code) };
+ if ($@) {
+ diag "Critique test $id failed: $@";
+ next TEST;
+ }
}
is @violations, @expected, "right count of violations $id";
unless ($exp) {
fail "Unexpected violation for chunk $id: " . $v->description;
- next;
+ next TEST;
}
my $pos = $v->location;