File Coverage

blib/lib/FusionInventory/Agent/Task/Inventory/MacOS/Uptime.pm
Criterion Covered Total %
statement 11 21 52.3
branch 0 2 0.0
condition n/a
subroutine 4 7 57.1
pod 0 2 0.0
total 15 32 46.8


line stmt bran cond sub pod time code
1             package FusionInventory::Agent::Task::Inventory::MacOS::Uptime;
2              
3 2     2   69740014 use strict;
  2         7  
  2         58  
4 2     2   13 use warnings;
  2         2  
  2         68  
5              
6 2     2   784 use FusionInventory::Agent::Tools;
  2         2  
  2         514  
7              
8             sub isEnabled {
9 0     0 0 0 return getFirstLine(command => 'sysctl -n kern.boottime');
10             }
11              
12             sub doInventory {
13 0     0 0 0 my (%params) = @_;
14              
15 0         0 my $inventory = $params{inventory};
16              
17 0         0 my $arch = getFirstLine(command => 'uname -m');
18 0         0 my $uptime = _getUptime(command => 'sysctl -n kern.boottime');
19 0         0 $inventory->setHardware({
20             DESCRIPTION => "$arch/$uptime"
21             });
22             }
23              
24             sub _getBootTime {
25 2     2   759 my $boottime = getFirstMatch(
26             pattern => qr/(\d+)$/,
27             @_,
28             );
29              
30 2         5 return $boottime;
31             }
32              
33             sub _getUptime {
34 0     0     my $boottime = _getBootTime(@_);
35 0 0         return unless $boottime;
36              
37 0           my $uptime = time() - $boottime;
38 0           return getFormatedGMTTime($uptime);
39             }
40              
41             1;