t/spawn.t | 10 ++++++++++ diff --git a/t/spawn.t b/t/spawn.t index d52b646562c45d38704869e2022cc129c931db17..9e58f675fe2a8fd140e7dd96982d1e639cbd674b 100644 --- a/t/spawn.t +++ b/t/spawn.t @@ -70,6 +70,15 @@ my $buf; 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 @@ ok(!defined(sysread($fh, my $buf, 1)) && $!{EAGAIN}, '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();