use Test;
use Errno;
BEGIN { plan tests => 6 }
#
# load
#
require Error::Wait;
ok ref tied($?), 'Error::Wait', 'tied($?)';
#
# catch exit status
#
system $^X, '-e', 'exit 1';
ok "$?", 'Exited: 1', 'catch exit code';
ok $? >> 8, 1, '$? >> 8 still works';
#
# use $! when $? == -1
#
$? = -1;
$! = Errno::ENOENT();
ok "$?", "$!", 'stringify like $!';
ok $?+0, -1, 'but return -1 in numeric context';
#
# catch signal
#
$? = 1;
ok "$?", qr/Killed/, 'report signal';