X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FVPIT-TestHelpers.git;a=blobdiff_plain;f=lib%2FVPIT%2FTestHelpers.pm;h=a6ca51908cc9f3398a125f93a7353844dbc6043c;hp=6a3655e9646aa45649087d5e063ecfd42d71a9a5;hb=274ec39542b4a7f51a3dd39cd3e9e5dd1ee88eb8;hpb=0061dae2bcee89818b69face072da887029ae488 diff --git a/lib/VPIT/TestHelpers.pm b/lib/VPIT/TestHelpers.pm index 6a3655e..a6ca519 100644 --- a/lib/VPIT/TestHelpers.pm +++ b/lib/VPIT/TestHelpers.pm @@ -19,14 +19,14 @@ sub export_to_pkg { my %default_exports = ( load_or_skip => \&load_or_skip, load_or_skip_all => \&load_or_skip_all, - run_perl => \&run_perl, skip_all => \&skip_all, ); my %features = ( - threads => \&init_threads, - usleep => \&init_usleep, - capture => \&init_capture, + threads => \&init_threads, + usleep => \&init_usleep, + run_perl => \&init_run_perl, + capture => \&init_capture, ); sub import { @@ -165,6 +165,25 @@ sub fresh_perl_env (&) { return $handler->($perl, '-T', map("-I$_", @INC)); } +sub init_run_perl { + my $prefix = shift; + + if (defined $prefix) { + if (length $prefix and $prefix !~ /_$/) { + $prefix .= '_'; + } + } else { + $prefix = ''; + } + + my $p = $prefix; + + return ( + run_perl => \&run_perl, + "${p}RUN_PERL_FAILED" => sub () { 'Could not execute perl subprocess' }, + ); +} + sub run_perl { my $code = shift;