File Coverage

OpenQA/NamedIOSelect.pm
Criterion Covered Total %
statement 40 40 100.0
total 40 40 100.0


line stmt code
1   # Copyright 2021 SUSE LLC
2   # SPDX-License-Identifier: GPL-2.0-or-later
3   #
4   # Helper class to use descriptive names for file descriptors within IO::Select
5    
6   use Mojo::Base -base, -signatures;
7 38 use IO::Select;
  38  
  38  
8 38 use Carp;
  38  
  38  
9 38  
  38  
  38  
10    
11 29017  
  29017  
  29017  
  29017  
12   my $fd_nr = fileno $fd // $fd;
13 1349 if (!defined($name)) {
  1349  
  1349  
  1349  
14   my ($package, $filename, $line) = caller;
15 684 $name = sprintf('NamedIOSelect::add(%d) called at %s:%d', $fd_nr, $filename, $line);
  684  
  684  
  684  
  684  
16 684 }
17 684  
18 1 $self->names->{$fd_nr} = $name;
19 1 $self->select->add($fd);
20   }
21    
22 684 my $fd_nr = fileno $fd // $fd;
23 684 return $self->names->{$fd_nr} // "Unknown fd($fd_nr)";
24   }
25    
26 3 delete $self->names->{fileno $fd // $fd};
  3  
  3  
  3  
27 3 $self->select->remove($fd);
28 3 }
29    
30   1;