File Coverage

blib/lib/FusionInventory/Agent/Task/Inventory/HPUX/Slots.pm
Criterion Covered Total %
statement 17 26 65.3
branch 1 4 25.0
condition n/a
subroutine 4 6 66.6
pod 0 2 0.0
total 22 38 57.8


line stmt bran cond sub pod time code
1             package FusionInventory::Agent::Task::Inventory::HPUX::Slots;
2              
3 2     2   83284529 use strict;
  2         4  
  2         74  
4 2     2   13 use warnings;
  2         7  
  2         85  
5              
6 2     2   487 use FusionInventory::Agent::Tools;
  2         2  
  2         571  
7              
8             sub isEnabled {
9 0     0 0 0 my (%params) = @_;
10 0 0       0 return 0 if $params{no_category}->{slot};
11 0         0 return canRun('ioscan');
12             }
13              
14             sub doInventory {
15 0     0 0 0 my (%params) = @_;
16              
17 0         0 my $inventory = $params{inventory};
18 0         0 my $logger = $params{logger};
19              
20 0         0 foreach my $type (qw/ioa ba/) {
21 0         0 foreach my $slot (_getSlots(
22             command => "ioscan -kFC $type",
23             logger => $logger
24             )) {
25 0         0 $inventory->addEntry(
26             section => 'SLOTS',
27             entry => $slot
28             );
29             }
30             }
31             }
32              
33             sub _getSlots {
34 4     4   860 my $handle = getFileHandle(@_);
35 4 50       8 return unless $handle;
36              
37 4         2 my @slots;
38 4         42 while (my $line = <$handle>) {
39 20         56 my @info = split(/:/, $line);
40 20         70 push @slots, {
41             DESIGNATION => $info[17],
42             };
43             }
44 4         21 close $handle;
45              
46 4         15 return @slots;
47             }
48              
49             1;