X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F17-ctl.t;h=2500a9454f1fe2e035e9487ac67a3ec5131d6493;hb=1676b9c5dcfd3a398710ce5476bcff3bf5d83a8f;hp=92a4c0cc7930d5a9d3dc8a7c1e74185d464bc747;hpb=3bc98bdbdb230943e7fb3135e325f10013acac2d;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/17-ctl.t b/t/17-ctl.t index 92a4c0c..2500a94 100644 --- a/t/17-ctl.t +++ b/t/17-ctl.t @@ -216,22 +216,29 @@ like $@, expect('tomato', undef, "\nBEGIN.*"), sub run_perl { my $code = shift; - my $SystemRoot = $ENV{SystemRoot}; + my ($SystemRoot, $PATH) = @ENV{qw}; 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; } my $has_capture_tiny = do { local $@; - eval 'use Capture::Tiny 0.08 (); 1' + eval { + require Capture::Tiny; + Capture::Tiny->VERSION('0.08'); + } }; if ($has_capture_tiny) { - my $output = Capture::Tiny::capture_merged(sub { run_perl <<' CODE' }); + local $@; + my $output = eval { + Capture::Tiny::capture_merged(sub { run_perl <<' CODE' }); print STDOUT "pants\n"; print STDERR "trousers\n"; - CODE + CODE + }; unless (defined $output and $output =~ /pants/ and $output =~ /trousers/) { $has_capture_tiny = 0; } @@ -265,16 +272,10 @@ SKIP: skip 'No working Capture::Tiny is installed'=> $count unless $has_capture_tiny; my $output = Capture::Tiny::capture_merged(sub { run_perl <<' CODE' }); -use Variable::Magic qw; BEGIN { cast %::, wizard fetch => sub { die q[salsify] } } hlagh() +use Variable::Magic qw; BEGIN { cast %derp::, wizard fetch => sub { die q[raddish] } } derp::hlagh() CODE skip 'Test code didn\'t run properly' => $count unless defined $output; - my $suffix = "\nExecution(?s:.*)"; - if ($] >= 5.011005) { - $suffix = "(?:\nsalsify at -e line \\d+.){12}" . $suffix; - } elsif ($] >= 5.011) { - $suffix = "(?:\nsalsify at -e line \\d+.){3}" . $suffix; - } - like $output, expect('salsify', '-e', $suffix), - 'die in free callback at compile time and not in eval string'; + like $output, expect('raddish', '-e', "\nExecution(?s:.*)"), + 'die in free callback at compile time and not in eval string'; --$count; }