From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 1AD601F4B9 for ; Fri, 29 Nov 2019 10:14:15 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 6/7] spawn: remove support for clearing the env Date: Fri, 29 Nov 2019 10:14:13 +0000 Message-Id: <20191129101414.343-7-e@80x24.org> In-Reply-To: <20191129101414.343-1-e@80x24.org> References: <20191129101414.343-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: It's unnecessary code which I'm not sure we ever used. In retrospect, completely clearing the environment doesn't make sense for the processes we spawn. We don't need to clobber individual environment variables in our code, either (and if we did for tests, we can use 'local'). --- lib/PublicInbox/Spawn.pm | 12 +----------- t/spawn.t | 10 ---------- 2 files changed, 1 insertion(+), 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 @@ -38,16 +38,6 @@ use PublicInbox::Spawn qw(which spawn popen_rd); is($?, 0, 'sh exited successfully'); } -{ - 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');