protect @INC when re-invoking
Jonathan Rockway [Thu, 25 Jun 2009 21:47:41 +0000 (14:47 -0700)]
lib/MooseX/Runnable/Util/ArgParser.pm
t/reverse-args.t

index 833f983..965d39f 100644 (file)
@@ -232,7 +232,12 @@ sub guess_cmdline {
     my @without_plugins = @{$opts{without_plugins} || []};
 
     # invoke mx-run
-    my @cmdline = ($^X, @perl_flags, $FindBin::Bin.'/'.$FindBin::Script);
+    my @cmdline = (
+        $^X,
+        (map { "-I$_" } @INC),
+        @perl_flags,
+        $FindBin::Bin.'/'.$FindBin::Script,
+    );
     push @cmdline, map { "-I$_" } $self->include_paths;
     push @cmdline, map { "-M$_" } $self->modules;
 
index 4b0086e..16a2dfa 100644 (file)
@@ -13,11 +13,12 @@ my $args = MooseX::Runnable::Util::ArgParser->new(
 local $^X = '/path/to/perl';
 local $FindBin::Bin = '/path/to';
 local $FindBin::Script = 'mx-run';
+local @INC = ('foobar');
 my @cmdline = $args->guess_cmdline(
     perl_flags => ['--X--'],
     without_plugins => ['Plugout'],
 );
 
 is join(' ', @cmdline),
-  "/path/to/perl --X-- /path/to/mx-run -Ilib -MFoo -MBar +Plugin --with-args -- MyApp --with args",
+  "/path/to/perl -Ifoobar --X-- /path/to/mx-run -Ilib -MFoo -MBar +Plugin --with-args -- MyApp --with args",
   'cmdline reverses reasonably';