diff options
-rw-r--r-- | lib/PublicInbox/Spawn.pm | 12 | ||||
-rw-r--r-- | t/spawn.t | 10 |
2 files changed, 1 insertions, 21 deletions
diff --git a/lib/PublicInbox/Spawn.pm b/lib/PublicInbox/Spawn.pm index b946a663..6493ad38 100644 --- a/lib/PublicInbox/Spawn.pm +++ b/lib/PublicInbox/Spawn.pm @@ -193,17 +193,7 @@ sub spawn ($;$$) { my @env; $opts ||= {}; - my %env = $opts->{-env} ? () : %ENV; - if ($env) { - foreach my $k (keys %$env) { - my $v = $env->{$k}; - if (defined $v) { - $env{$k} = $v; - } else { - delete $env{$k}; - } - } - } + my %env = $env ? (%ENV, %$env) : %ENV; while (my ($k, $v) = each %env) { push @env, "$k=$v"; } @@ -39,16 +39,6 @@ use PublicInbox::Spawn qw(which spawn popen_rd); } { - my ($r, $w); - pipe $r, $w or die "pipe failed: $!"; - my $pid = spawn(['env'], {}, { -env => 1, 1 => fileno($w) }); - close $w or die "close pipe[1] failed: $!"; - ok(!defined(<$r>), 'read stdout of spawned from pipe'); - is(waitpid($pid, 0), $pid, 'waitpid succeeds on spawned process'); - is($?, 0, 'env(1) exited successfully'); -} - -{ my $fh = popen_rd([qw(echo hello)]); ok(fileno($fh) >= 0, 'tied fileno works'); my $l = <$fh>; |