From: Eric Wong Date: Sun, 22 May 2016 07:49:04 +0000 (+0000) Subject: t/spawn.t: additional tests for popen_rd X-Git-Tag: v1.0.0~511 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=189fd7c304e30e7dee6711f9f4213339a310d07a;p=public-inbox.git t/spawn.t: additional tests for popen_rd We need to ensure $? is set properly for users. --- diff --git a/t/spawn.t b/t/spawn.t index d52b6465..9e58f675 100644 --- a/t/spawn.t +++ b/t/spawn.t @@ -70,6 +70,15 @@ use PublicInbox::Spawn qw(which spawn popen_rd); is(sysread($fh, $buf, 6), 6, 'sysread got 6 bytes'); is($buf, "hello\n", 'tied gets works'); is(sysread($fh, $buf, 6), 0, 'sysread got EOF'); + $? = 1; + close $fh; + is($?, 0, '$? set properly'); +} + +{ + my $fh = popen_rd([qw(false)]); + close $fh; + isnt($?, 0, '$? set properly: '.$?); } { @@ -80,6 +89,7 @@ use PublicInbox::Spawn qw(which spawn popen_rd); 'sysread returned quickly with EAGAIN'); is(kill(15, $pid), 1, 'child process killed early'); is(waitpid($pid, 0), $pid, 'child process reapable'); + isnt($?, 0, '$? set properly: '.$?); } done_testing();