X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=t%2Fspawn.t;h=44355f43655582845755b674847494eb18b5df4c;hb=95bdac7f09c69036efed537a4d03d5bdd2ae4eb6;hp=aba1a26c7ce66e6571511196d5bcb5b743fe78ee;hpb=9bd675d33ad1e49bd2ebe12a1d216216e61380de;p=public-inbox.git diff --git a/t/spawn.t b/t/spawn.t index aba1a26c..44355f43 100644 --- a/t/spawn.t +++ b/t/spawn.t @@ -1,4 +1,4 @@ -# Copyright (C) 2015-2019 all contributors +# Copyright (C) 2015-2020 all contributors # License: AGPL-3.0+ use strict; use warnings; @@ -31,23 +31,13 @@ use PublicInbox::Spawn qw(which spawn popen_rd); my ($r, $w); pipe $r, $w or die "pipe failed: $!"; my $pid = spawn(['sh', '-c', 'echo $HELLO'], - { 'HELLO' => 'world' }, { 1 => fileno($w) }); + { 'HELLO' => 'world' }, { 1 => $w }); close $w or die "close pipe[1] failed: $!"; is(<$r>, "world\n", 'read stdout of spawned from pipe'); is(waitpid($pid, 0), $pid, 'waitpid succeeds on spawned process'); 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'); @@ -71,13 +61,13 @@ use PublicInbox::Spawn qw(which spawn popen_rd); is($buf, "hello\n", 'tied gets works'); is(sysread($fh, $buf, 6), 0, 'sysread got EOF'); $? = 1; - close $fh; + ok(close($fh), 'close succeeds'); is($?, 0, '$? set properly'); } { my $fh = popen_rd([qw(false)]); - close $fh; + ok(!close($fh), 'close fails on false'); isnt($?, 0, '$? set properly: '.$?); }