summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/t/op/eval.t
diff options
context:
space:
mode:
authormarkm <markm@FreeBSD.org>2000-06-25 11:04:01 +0000
committermarkm <markm@FreeBSD.org>2000-06-25 11:04:01 +0000
commit2618fad5bbb2d0182eb31ed805c41b543c513940 (patch)
tree52ba93338b13aefd02a0055304a9eccfa0e049f5 /contrib/perl5/t/op/eval.t
parent77644ee620b6a79cf8c538abaf7cd301a875528d (diff)
downloadFreeBSD-src-2618fad5bbb2d0182eb31ed805c41b543c513940.zip
FreeBSD-src-2618fad5bbb2d0182eb31ed805c41b543c513940.tar.gz
Vendor import of Perl 5.006
Diffstat (limited to 'contrib/perl5/t/op/eval.t')
-rwxr-xr-xcontrib/perl5/t/op/eval.t37
1 files changed, 36 insertions, 1 deletions
diff --git a/contrib/perl5/t/op/eval.t b/contrib/perl5/t/op/eval.t
index dc163e9..1838923 100755
--- a/contrib/perl5/t/op/eval.t
+++ b/contrib/perl5/t/op/eval.t
@@ -1,6 +1,6 @@
#!./perl
-print "1..36\n";
+print "1..40\n";
eval 'print "ok 1\n";';
@@ -171,3 +171,38 @@ sub terminal { eval 'print $r' }
}
$x++;
+# Have we cured panic which occurred with require/eval in die handler ?
+$SIG{__DIE__} = sub { eval {1}; die shift };
+eval { die "ok ".$x++,"\n" };
+print $@;
+
+# does scalar eval"" pop stack correctly?
+{
+ my $c = eval "(1,2)x10";
+ print $c eq '2222222222' ? "ok $x\n" : "# $c\nnot ok $x\n";
+ $x++;
+}
+
+# return from eval {} should clear $@ correctly
+{
+ my $status = eval {
+ eval { die };
+ print "# eval { return } test\n";
+ return; # removing this changes behavior
+ };
+ print "not " if $@;
+ print "ok $x\n";
+ $x++;
+}
+
+# ditto for eval ""
+{
+ my $status = eval q{
+ eval q{ die };
+ print "# eval q{ return } test\n";
+ return; # removing this changes behavior
+ };
+ print "not " if $@;
+ print "ok $x\n";
+ $x++;
+}
OpenPOWER on IntegriCloud