]> git.vpit.fr Git - perl/modules/VPIT-TestHelpers.git/commitdiff
Add run_perl()
authorVincent Pit <vince@profvince.com>
Mon, 1 Sep 2014 12:40:35 +0000 (14:40 +0200)
committerVincent Pit <vince@profvince.com>
Mon, 1 Sep 2014 12:40:35 +0000 (14:40 +0200)
lib/VPIT/TestHelpers.pm

index 3d545e887a78dbdccb62c79c423618bbd12a0629..30c6bc02c5a841742397efd3f06de4440b753c46 100644 (file)
@@ -6,6 +6,7 @@ use warnings;
 my %exports = (
  load_or_skip     => \&load_or_skip,
  load_or_skip_all => \&load_or_skip_all,
 my %exports = (
  load_or_skip     => \&load_or_skip,
  load_or_skip_all => \&load_or_skip_all,
+ run_perl         => \&run_perl,
  skip_all         => \&skip_all,
 );
 
  skip_all         => \&skip_all,
 );
 
@@ -102,6 +103,17 @@ sub load_or_skip_all {
  return $loaded;
 }
 
  return $loaded;
 }
 
+sub run_perl {
+ my $code = shift;
+
+ my ($SystemRoot, $PATH) = @ENV{qw<SystemRoot PATH>};
+ local %ENV;
+ $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;
+}
+
 package VPIT::TestHelpers::Guard;
 
 sub new {
 package VPIT::TestHelpers::Guard;
 
 sub new {