summaryrefslogtreecommitdiffstats
path: root/t/role.t
diff options
context:
space:
mode:
Diffstat (limited to 't/role.t')
-rw-r--r--t/role.t9
1 files changed, 6 insertions, 3 deletions
diff --git a/t/role.t b/t/role.t
index 25cfec0..1c3c9b0 100644
--- a/t/role.t
+++ b/t/role.t
@@ -120,14 +120,17 @@ alarm 60;
}
sub full_read {
- my ($pty) = @_;
+ my ($fh) = @_;
- my $select = IO::Select->new($pty);
+ my $select = IO::Select->new($fh);
return if $select->has_exception(0.1);
+ 1 while !$select->can_read(1);
+
my $ret;
while ($select->can_read(1)) {
- my $new = $pty->read;
+ my $new;
+ sysread($fh, $new, 4096);
last unless defined($new) && length($new);
$ret .= $new;
return $ret if $select->has_exception(0.1);