]> git.vpit.fr Git - perl/modules/indirect.git/blob - t/50-external.t
Preserve the PATH environment variable when running a sub-perl on cygwin
[perl/modules/indirect.git] / t / 50-external.t
1 #!perl
2
3 use strict;
4 use warnings;
5
6 use Test::More tests => 2;
7
8 BEGIN { delete $ENV{PERL_INDIRECT_PM_DISABLE} }
9
10 sub run_perl {
11  my $code = shift;
12
13  my ($SystemRoot, $PATH) = @ENV{qw<SystemRoot PATH>};
14  local %ENV;
15  $ENV{SystemRoot} = $SystemRoot if $^O eq 'MSWin32' and defined $SystemRoot;
16  $ENV{PATH}       = $PATH       if $^O eq 'cygwin'  and defined $PATH;
17
18  system { $^X } $^X, '-T', map("-I$_", @INC), '-e', $code;
19 }
20
21 {
22  my $status = run_perl 'no indirect; qq{a\x{100}b} =~ /\A[\x00-\x7f]*\z/;';
23  is $status, 0, 'RT #47866';
24 }
25
26 SKIP:
27 {
28  skip 'Fixed in core only since 5.12' => 1 unless "$]" >= 5.012;
29  my $status = run_perl 'no indirect hook => sub { exit 2 }; new X';
30  is $status, 2 << 8, 'no semicolon at the end of -e';
31 }