This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Stop unterminated here-docs from leaking memory
[perl5.git] / t / op / svleak.t
index b0e72f4..3a3d052 100644 (file)
@@ -15,7 +15,7 @@ BEGIN {
 
 use Config;
 
-plan tests => 22;
+plan tests => 25;
 
 # run some code N times. If the number of SVs at the end of loop N is
 # greater than (N-1)*delta at the end of loop 1, we've got a leak
@@ -172,3 +172,12 @@ SKIP: {
     leak(2, 0, sub { eval q{ my $x = "x"; "abc" =~ /$x/ for 1..5 } }, '#114356');
 }
 
+SKIP: {
+    skip "disabled under -Dmad (eval leaks)" if $Config{mad};
+    leak(2, 0, sub { eval '"${<<END}"
+                 ' }, 'unterminated here-doc in quotes in multiline eval');
+    leak(2, 0, sub { eval '"${<<END
+               }"' }, 'unterminated here-doc in multiline quotes in eval');
+    leak(2, 0, sub { eval { do './op/svleak.pl' } },
+        'unterminated here-doc in file');
+}