[RT #128574] Fix use of fresh_perl in tests
authorDan Collins <dcollinsn@gmail.com>
Mon, 11 Jul 2016 02:05:40 +0000 (22:05 -0400)
committerTony Cook <tony@develop-help.com>
Mon, 1 Aug 2016 06:16:55 +0000 (16:16 +1000)
t/io/layers.t
t/op/lex.t
t/op/threads.t
t/op/tr.t
t/test.pl

index 86d171c..5e62800 100644 (file)
@@ -223,7 +223,7 @@ __EOH__
 
     # Check that PL_sigwarn's reference count is correct, and that 
     # &PerlIO::Layer::NoWarnings isn't prematurely freed.
-    fresh_perl_like (<<"EOT", qr/^CODE/);
+    fresh_perl_like (<<"EOT", qr/^CODE/, {}, "Check PL_sigwarn's reference count");
 open(UTF, "<:raw:encoding(utf8)", '$afile') or die \$!;
 print ref *PerlIO::Layer::NoWarnings{CODE};
 EOT
index 00e64fc..6c207d7 100644 (file)
@@ -214,5 +214,6 @@ fresh_perl_is(
   '$_ = q-strict.pm-; 1 ? require : die;'
  .' print qq-ok\n- if $INC{q-strict.pm-}',
   "ok\n",
+  {},
   'foo ? require : bar [perl #128307]'
 );
index 123ad27..2acb8d8 100644 (file)
@@ -399,7 +399,7 @@ fresh_perl_is(
   'no crash when deleting $::{INC} in thread'
 );
 
-fresh_perl_is(<<'CODE', 'ok', 'no crash modifying extended array element');
+fresh_perl_is(<<'CODE', 'ok', {}, 'no crash modifying extended array element');
 use threads;
 my @a = 1;
 threads->create(sub { $#a = 1; $a[1] = 2; print qq/ok\n/ })->join;
index 2284f7f..aa35137 100644 (file)
--- a/t/op/tr.t
+++ b/t/op/tr.t
@@ -502,7 +502,7 @@ is( ref $x, 'SCALAR', "    doesn't stringify its argument" );
 
 # rt.perl.org 36622.  Perl didn't like a y/// at end of file.  No trailing
 # newline allowed.
-fresh_perl_is(q[$_ = "foo"; y/A-Z/a-z/], '');
+fresh_perl_is(q[$_ = "foo"; y/A-Z/a-z/], '', {}, 'RT #36622 y/// at end of file');
 
 
 { # [perl #38293] chr(65535) should be allowed in regexes
index 20d08e9..349bcc9 100644 (file)
--- a/t/test.pl
+++ b/t/test.pl
@@ -964,6 +964,9 @@ sub fresh_perl {
     # returned, with $? set to the exit code.  Unless overridden, stderr is
     # redirected to stdout.
 
+    die sprintf "Third argument to fresh_perl_.* must be hashref of args to fresh_perl (or {})"
+        unless !(defined $runperl_args) || ref($runperl_args) eq 'HASH';
+
     # Given the choice of the mis-parsable {}
     # (we want an anon hash, but a borked lexer might think that it's a block)
     # or relying on taking a reference to a lexical