X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F30-run_perl.t;h=21837bed3fe8cde3b441645fcc3a2ae1f05ce036;hb=32b272838d5cd4620aec5d8b2c6d2fea43e8e0a9;hp=2238fb76838cf0f79e8d87d7f35237a16e7a5071;hpb=274ec39542b4a7f51a3dd39cd3e9e5dd1ee88eb8;p=perl%2Fmodules%2FVPIT-TestHelpers.git diff --git a/t/30-run_perl.t b/t/30-run_perl.t index 2238fb7..21837be 100644 --- a/t/30-run_perl.t +++ b/t/30-run_perl.t @@ -5,7 +5,7 @@ use warnings; use VPIT::TestHelpers 'run_perl' => [ 'VTH' ]; -use Test::More tests => 5 + 2; +use Test::More tests => 5 + 2 + 2; use Config; use File::Temp; @@ -25,7 +25,9 @@ my %expected_vars = ( 'darwin' => [ ], 'linux' => [ ], ); -push @$_, $ld_path for values %expected_vars; +unless ($^O eq 'darwin') { + push @$_, $ld_path for values %expected_vars; +} my @all_vars = do { my %uniq; @@ -38,16 +40,18 @@ my @ignored_vars = qw< VERSIONER_PERL_VERSION __CF_USER_TEXT_ENCODING >; +push @ignored_vars, $ld_path if $^O eq 'darwin'; for my $os (qw) { 1 while unlink $filename; - local $^O = $os; local %ENV; - @ENV{@all_vars} = @all_vars; - run_perl $code; + { + local $^O = $os; + run_perl $code; + } my %subprocess_env; @@ -67,6 +71,16 @@ for my $os (qw) { is $got, $exp, "run_perl preserving $os ENV vars"; } +{ + local $@; + my $stat = eval { + run_perl_file 't/testcases/run_perl_file.pl'; + }; + $stat = $stat >> 8 if defined $stat; + is $@, '', 'run_perl_file() does not croak'; + is $stat, 123, 'run_perl_file() captures the exit value'; +} + { local $@; eval {