X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=lib%2FVPIT%2FTestHelpers.pm;h=023a87383949f872492cc295c402c2a779a0f7c2;hb=6eebc74aa64e2c12b7d2b5449fef997abc06a164;hp=91de04459f69425f1f6a425ced54160b621461ca;hpb=4fb1879240a13d6dc25d0f5d5dd6c32cde3640cc;p=perl%2Fmodules%2FVPIT-TestHelpers.git diff --git a/lib/VPIT/TestHelpers.pm b/lib/VPIT/TestHelpers.pm index 91de044..023a873 100644 --- a/lib/VPIT/TestHelpers.pm +++ b/lib/VPIT/TestHelpers.pm @@ -5,6 +5,17 @@ use warnings; use Config (); +sub export_to_pkg { + my ($subs, $pkg) = @_; + + while (my ($name, $code) = each %$subs) { + no strict 'refs'; + *{$pkg.'::'.$name} = $code; + } + + return 1; +} + my %exports = ( load_or_skip => \&load_or_skip, load_or_skip_all => \&load_or_skip_all, @@ -15,10 +26,7 @@ my %exports = ( sub import { my $pkg = caller; - while (my ($name, $code) = each %exports) { - no strict 'refs'; - *{$pkg.'::'.$name} = $code; - } + export_to_pkg \%exports => $pkg; } my $test_sub = sub { @@ -113,9 +121,9 @@ sub run_perl { my $ldlibpth = $ENV{$ld_name}; local %ENV; + $ENV{$ld_name} = $ldlibpth if defined $ldlibpth; $ENV{SystemRoot} = $SystemRoot if $^O eq 'MSWin32' and defined $SystemRoot; $ENV{PATH} = $PATH if $^O eq 'cygwin' and defined $PATH; - $ENV{$ld_name} = $ldlibpth if $^O eq 'android' and defined $ldlibpth; system { $^X } $^X, '-T', map("-I$_", @INC), '-e', $code; }