File Coverage

blib/lib/FusionInventory/Agent/Task/Inventory/BSD/Alpha.pm
Criterion Covered Total %
statement 12 28 42.8
branch 0 6 0.0
condition n/a
subroutine 4 6 66.6
pod 0 2 0.0
total 16 42 38.1


line stmt bran cond sub pod time code
1             package FusionInventory::Agent::Task::Inventory::BSD::Alpha;
2              
3 1     1   80028618 use strict;
  1         12  
  1         124  
4 1     1   7 use warnings;
  1         1  
  1         58  
5              
6 1     1   5 use Config;
  1         38  
  1         77  
7              
8 1     1   406 use FusionInventory::Agent::Tools;
  1         3  
  1         309  
9              
10             sub isEnabled {
11 0     0 0   return $Config{archname} =~ /^alpha/;
12             }
13              
14             sub doInventory {
15 0     0 0   my (%params) = @_;
16              
17 0           my $inventory = $params{inventory};
18              
19 0           my $bios = {
20             SMANUFACTURER => 'DEC',
21             };
22              
23             # sysctl infos
24              
25             # example on *BSD: AlphaStation 255 4/232
26 0           $bios->{SMODEL} = getFirstLine(command => 'sysctl -n hw.model');
27              
28 0           my $count = getFirstLine(command => 'sysctl -n hw.ncpu');
29              
30             # dmesg infos
31              
32             # NetBSD:
33             # AlphaStation 255 4/232, 232MHz, s/n
34             # cpu0 at mainbus0: ID 0 (primary), 21064A-2
35             # OpenBSD:
36             # AlphaStation 255 4/232, 232MHz
37             # cpu0 at mainbus0: ID 0 (primary), 21064A-2 (pass 1.1)
38             # FreeBSD:
39             # AlphaStation 255 4/232, 232MHz
40             # CPU: EV45 (21064A) major=6 minor=2
41              
42 0           my $cpu;
43 0           foreach my $line (getAllLines(command => 'dmesg')) {
44 0 0         if ($line =~ /$bios->{SMODEL},\s*(\S+)\s*MHz/) { $cpu->{SPEED} = $1; }
  0            
45 0 0         if ($line =~ /^cpu[^:]*:\s*(.*)$/i) { $cpu->{NAME} = $1; }
  0            
46             }
47              
48 0           $inventory->setBios($bios);
49              
50 0 0         return if $params{no_category}->{cpu};
51              
52 0           while ($count--) {
53 0           $inventory->addEntry(
54             section => 'CPUS',
55             entry => $cpu
56             );
57             }
58              
59             }
60              
61             1;