]> git.vpit.fr Git - perl/modules/Scope-Upper.git/blobdiff - t/lib/VPIT/TestHelpers.pm
Update VPIT::TestHelpers to 4eeb5afc
[perl/modules/Scope-Upper.git] / t / lib / VPIT / TestHelpers.pm
index 69424208854ff243a950e847f0ac921508733536..b8623c536b65a652df5b5d01fdb6e980f95e6ee5 100644 (file)
@@ -144,6 +144,10 @@ sub load_or_skip_all {
 sub run_perl {
  my $code = shift;
 
+ if ($code =~ /"/) {
+  die 'Double quotes in evaluated code are not portable';
+ }
+
  my ($SystemRoot, $PATH) = @ENV{qw<SystemRoot PATH>};
  my $ld_name  = $Config::Config{ldlibpthname};
  my $ldlibpth = $ENV{$ld_name};
@@ -153,7 +157,15 @@ sub run_perl {
  $ENV{SystemRoot} = $SystemRoot if $^O eq 'MSWin32' and defined $SystemRoot;
  $ENV{PATH}       = $PATH       if $^O eq 'cygwin'  and defined $PATH;
 
- system { $^X } $^X, '-T', map("-I$_", @INC), '-e', $code;
+ my $perl = $^X;
+ unless (-e $perl and -x $perl) {
+  $perl = $Config::Config{perlpath};
+  unless (-e $perl and -x $perl) {
+   return undef;
+  }
+ }
+
+ system { $perl } $perl, '-T', map("-I$_", @INC), '-e', $code;
 }
 
 sub init_threads {