File Coverage

blib/lib/FusionInventory/Agent/Task/Inventory/MacOS.pm
Criterion Covered Total %
statement 15 31 48.3
branch 0 2 0.0
condition n/a
subroutine 5 7 71.4
pod 0 2 0.0
total 20 42 47.6


line stmt bran cond sub pod time code
1             package FusionInventory::Agent::Task::Inventory::MacOS;
2              
3 1     1   32732867 use strict;
  1         4  
  1         105  
4 1     1   11 use warnings;
  1         2  
  1         139  
5              
6 1     1   16 use English qw(-no_match_vars);
  1         108  
  1         68  
7              
8 1     1   2759 use FusionInventory::Agent::Tools;
  1         3  
  1         190  
9 1     1   592 use FusionInventory::Agent::Tools::MacOS;
  1         3  
  1         334  
10              
11             sub isEnabled {
12 0     0 0   return $OSNAME eq 'darwin';
13             }
14              
15             sub doInventory {
16 0     0 0   my (%params) = @_;
17              
18 0           my $inventory = $params{inventory};
19 0           my $logger = $params{logger};
20              
21             # basic operating system informations
22 0           my $kernelVersion = getFirstLine(command => 'uname -v');
23 0           my $kernelRelease = getFirstLine(command => 'uname -r');
24              
25 0           my ($name, $version);
26 0           my $infos = getSystemProfilerInfos(type => 'SPSoftwareDataType', logger => $logger);
27             my $SystemVersion =
28 0           $infos->{'Software'}->{'System Software Overview'}->{'System Version'};
29 0 0         if ($SystemVersion =~ /^(.*?)\s+(\d+.*)/) {
30 0           $name = $1;
31 0           $version = $2;
32             } else {
33 0           $name = "Mac OS X";
34             }
35              
36 0           my $boottime = getFirstMatch(
37             command => "sysctl -n kern.boottime",
38             pattern => qr/sec = (\d+)/
39             );
40              
41 0           $inventory->setHardware({
42             OSNAME => $name,
43             OSVERSION => $version,
44             OSCOMMENTS => $kernelVersion,
45             });
46              
47 0           $inventory->setOperatingSystem({
48             NAME => "MacOSX",
49             FULL_NAME => $name,
50             VERSION => $version,
51             KERNEL_VERSION => $kernelRelease,
52             BOOT_TIME => getFormatedLocalTime($boottime)
53             });
54             }
55              
56             1;