about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/Spawn.pm12
-rw-r--r--t/spawn.t10
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";
         }
diff --git a/t/spawn.t b/t/spawn.t
index ebebfb57..2e409157 100644
--- a/t/spawn.t
+++ b/t/spawn.t
@@ -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>;