[Fusioninventory-commit] [fusinv/fusioninventory-agent] d430eb: Change in regexp for mpt-status output

Guillaume Rousse guillomovitch at gmail.com
Thu May 3 07:22:19 UTC 2012


  Branch: refs/heads/2.2.x
  Home:   https://github.com/fusinv/fusioninventory-agent
  Commit: d430eb224035bb7d486425a5e772149a601fdedb
      https://github.com/fusinv/fusioninventory-agent/commit/d430eb224035bb7d486425a5e772149a601fdedb
  Author: Alexander Evseev <PunchyBummer at mailinator.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm

  Log Message:
  -----------
  Change in regexp for mpt-status output


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
index 2b6a0ca..c8af20d 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
@@ -33,7 +33,7 @@ sub doInventory {
         );
         next unless $handle;
         while (my $line = <$handle>) {
-            next unless /phys_id:(\d+).*product_id:\s*(\S*)\s+revision:(\S+).*size\(GB\):(\d+)/;
+            next unless $line =~ /phys_id:(\d+).*product_id:\s*(\S*)\s+revision:(\S+).*size\(GB\):(\d+)/;
             my $id = $1;
 
             my $storage = {


================================================================
  Commit: f1d45d1c9416cde88cd2a6204c4a82cd737c1cf2
      https://github.com/fusinv/fusioninventory-agent/commit/f1d45d1c9416cde88cd2a6204c4a82cd737c1cf2
  Author: Alexander Evseev <PunchyBummer at mailinator.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm

  Log Message:
  -----------
  Alternative naming for adaptec controller


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
index 4662f62..23bb8a3 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
@@ -28,7 +28,9 @@ sub doInventory {
 
     foreach my $device (@devices) {
         next unless $device->{MANUFACTURER};
-        next unless $device->{MANUFACTURER} eq 'Adaptec';
+        next unless
+            $device->{MANUFACTURER} eq 'Adaptec' ||
+            $device->{MANUFACTURER} eq 'ServeRA';
 
         foreach my $disk (_getDisksFromProc(
                 controller => 'scsi' . $device->{SCSI_COID},


================================================================
  Commit: a5214e3cbc2cdf19d57a79a3fd957a7b0efb1051
      https://github.com/fusinv/fusioninventory-agent/commit/a5214e3cbc2cdf19d57a79a3fd957a7b0efb1051
  Author: Alexander Evseev <PunchyBummer at mailinator.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm

  Log Message:
  -----------
  Alternative model for adaptec controller


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
index 23bb8a3..9ddf21a 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
@@ -80,7 +80,7 @@ sub _getDisksFromProc {
             $disk->{FIRMWARE} = $2;
 
             # that's the controller itself, not a disk
-            next if $disk->{MODEL} =~ 'raid';
+            next if $disk->{MODEL} =~ /(raid|RAID)/;
 
             $disk->{MANUFACTURER} = getCanonicalManufacturer(
                 $disk->{MODEL}


================================================================
  Commit: 5856d94f43a6f5f9e1661c19c029c958f3b5809b
      https://github.com/fusinv/fusioninventory-agent/commit/5856d94f43a6f5f9e1661c19c029c958f3b5809b
  Author: Alexander Evseev <PunchyBummer at mailinator.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Generic/Processes.pm

  Log Message:
  -----------
  Ability to disable processes inventory


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Generic/Processes.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Generic/Processes.pm
index e22c36c..ca95aaa 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Generic/Processes.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Generic/Processes.pm
@@ -11,6 +11,7 @@ use FusionInventory::Agent::Tools::Unix;
 sub isEnabled {
     return 
         $OSNAME ne 'MSWin32' &&
+        !$params{no_category}->{process} &&
         canRun('ps');
 }
 


================================================================
  Commit: e9619578553af32e337c0798069e4ba178bc0e6a
      https://github.com/fusinv/fusioninventory-agent/commit/e9619578553af32e337c0798069e4ba178bc0e6a
  Author: Alexander Evseev <PunchyBummer at mailinator.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm

  Log Message:
  -----------
  qemu and kvm may have virtio disks (vd?) and SCSI emulation (sd?)


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
index 92a8d21..a4a68a4 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
@@ -27,7 +27,8 @@ sub doInventory {
         logger => $logger, command => 'ps -ef'
     )) {
         # match only if an qemu instance
-        next unless $process->{CMD} =~ /(qemu|kvm|(qemu-kvm)).*\-([fh]d[a-d]|cdrom).*/;
+        next unless 
+            $process->{CMD} =~ /(qemu|kvm|(qemu-kvm)).*\-([fhsv]d[a-d]|cdrom).*/;
             
         my $name;
         my $mem = 0;


================================================================
  Commit: 427efab9735765131b47d170c834ee33c66dfc43
      https://github.com/fusinv/fusioninventory-agent/commit/427efab9735765131b47d170c834ee33c66dfc43
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Tools/Linux.pm

  Log Message:
  -----------
  get device name from file content, not file name

SUSE has names for block devices in /dev/.udev/db/ like b<major>:<minor>
(ex. b8:0)

Reported-by: Alexander Evseev <PunchyBummer at mailinator.com>


diff --git a/lib/FusionInventory/Agent/Tools/Linux.pm b/lib/FusionInventory/Agent/Tools/Linux.pm
index 94a38c8..983a329 100644
--- a/lib/FusionInventory/Agent/Tools/Linux.pm
+++ b/lib/FusionInventory/Agent/Tools/Linux.pm
@@ -29,8 +29,11 @@ sub getDevicesFromUdev {
     my @devices;
 
     foreach my $file (glob ("/dev/.udev/db/*")) {
-        next unless $file =~ /([sh]d[a-z])$/;
-        my $device = $1;
+        my $device = getFirstMatch(
+            file    => $file,
+            pattern => qr/^N:(\S+)/
+        );
+        next unless $device =~ /([hsv]d[a-z]|sr\d+)$/;
         push (@devices, _parseUdevEntry(
                 logger => $params{logger}, file => $file, device => $device
             ));


================================================================
  Commit: d147d57522cc5928966f8b73f83f364794e3037e
      https://github.com/fusinv/fusioninventory-agent/commit/d147d57522cc5928966f8b73f83f364794e3037e
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm

  Log Message:
  -----------
  more readable regexp


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
index a4a68a4..ac8ef98 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
@@ -28,7 +28,7 @@ sub doInventory {
     )) {
         # match only if an qemu instance
         next unless 
-            $process->{CMD} =~ /(qemu|kvm|(qemu-kvm)).*\-([fhsv]d[a-d]|cdrom).*/;
+            $process->{CMD} =~ /(qemu|kvm|qemu-kvm) .* -([fhsv]d[a-d]|cdrom)/x;
             
         my $name;
         my $mem = 0;


================================================================
  Commit: 6f7adb43bfcd73e6ce15f42c465451f02d0b99f9
      https://github.com/fusinv/fusioninventory-agent/commit/6f7adb43bfcd73e6ce15f42c465451f02d0b99f9
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm

  Log Message:
  -----------
  - is not a metacharacter outside character class


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
index ac8ef98..0212d78 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
@@ -35,7 +35,7 @@ sub doInventory {
         my $uuid;
         my $vmtype = $1;
                     
-        my @options = split (/\-/, $process->{CMD});
+        my @options = split (/-/, $process->{CMD});
         foreach my $option (@options) {
             if ($option =~ m/^([fh]d[a-d]|cdrom) (\S+)/) {
                 $name = $2 if !$name;


================================================================
  Commit: 131b4f2438007240999bfe9c8d69d12759502b06
      https://github.com/fusinv/fusioninventory-agent/commit/131b4f2438007240999bfe9c8d69d12759502b06
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm

  Log Message:
  -----------
  add other disk emulation types


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
index 0212d78..fd2ed89 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
@@ -37,7 +37,7 @@ sub doInventory {
                     
         my @options = split (/-/, $process->{CMD});
         foreach my $option (@options) {
-            if ($option =~ m/^([fh]d[a-d]|cdrom) (\S+)/) {
+            if ($option =~ m/^([fhsv]d[a-d]|cdrom) (\S+)/) {
                 $name = $2 if !$name;
             } elsif ($option =~ m/^name (\S+)/) {
                 $name = $1;


================================================================
  Commit: 50a278d5e8a7b7409e2f86e743e0ee8a1cbe20f0
      https://github.com/fusinv/fusioninventory-agent/commit/50a278d5e8a7b7409e2f86e743e0ee8a1cbe20f0
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-04-26 (Thu, 26 Apr 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm

  Log Message:
  -----------
  don't capture uselessly


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
index fd2ed89..979c2ed 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Virtualization/Qemu.pm
@@ -37,8 +37,8 @@ sub doInventory {
                     
         my @options = split (/-/, $process->{CMD});
         foreach my $option (@options) {
-            if ($option =~ m/^([fhsv]d[a-d]|cdrom) (\S+)/) {
-                $name = $2 if !$name;
+            if ($option =~ m/^(?:[fhsv]d[a-d]|cdrom) (\S+)/) {
+                $name = $1 if !$name;
             } elsif ($option =~ m/^name (\S+)/) {
                 $name = $1;
             } elsif ($option =~ m/^m (\S+)/) {


================================================================
  Commit: 2fb62fbbb3ef73f3593b8bc7b8d797b890dc7014
      https://github.com/fusinv/fusioninventory-agent/commit/2fb62fbbb3ef73f3593b8bc7b8d797b890dc7014
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Tools/Generic.pm
    M lib/FusionInventory/Agent/Tools/Screen.pm
    M t/tools/generic.t

  Log Message:
  -----------
  Merge remote-tracking branch 'forge/2.2.x' into 2.2.x


diff --git a/lib/FusionInventory/Agent/Tools/Generic.pm b/lib/FusionInventory/Agent/Tools/Generic.pm
index 25ac7ba..825b70a 100644
--- a/lib/FusionInventory/Agent/Tools/Generic.pm
+++ b/lib/FusionInventory/Agent/Tools/Generic.pm
@@ -99,13 +99,20 @@ sub getCpusFromDmidecode {
                 $cpu->{SPEED} = $1 * 1000;
             }
         }
-        if (!$cpu->{SPEED}) {
-            if ($info->{'Max Speed'}) {
-                if ($info->{'Max Speed'} =~ /^\s*(\d+)\s*Mhz/i) {
-                    $cpu->{SPEED} = $1;
-                } elsif ($info->{'Max Speed'} =~ /^\s*(\d+)\s*Ghz/i) {
-                    $cpu->{SPEED} = $1 * 1000;
-                }
+        if (!$cpu->{SPEED} && $info->{'Max Speed'}) {
+            # We only look for 3 digit Mhz frequency to avoid abvious bad
+            # value like 30000 (#633)
+            if ($info->{'Max Speed'} =~ /^\s*(\d{3,4})\s*Mhz/i) {
+                $cpu->{SPEED} = $1;
+            } elsif ($info->{'Max Speed'} =~ /^\s*(\d+)\s*Ghz/i) {
+                $cpu->{SPEED} = $1 * 1000;
+            }
+        }
+        if (!$cpu->{SPEED} && $info->{'Current Speed'}) {
+            if ($info->{'Current Speed'} =~ /^\s*(\d{3,4})\s*Mhz/i) {
+                $cpu->{SPEED} = $1;
+            } elsif ($info->{'Current Speed'} =~ /^\s*(\d+)\s*Ghz/i) {
+                $cpu->{SPEED} = $1 * 1000;
             }
         }
 
diff --git a/lib/FusionInventory/Agent/Tools/Screen.pm b/lib/FusionInventory/Agent/Tools/Screen.pm
index 5cb71db..cd479fb 100644
--- a/lib/FusionInventory/Agent/Tools/Screen.pm
+++ b/lib/FusionInventory/Agent/Tools/Screen.pm
@@ -487,7 +487,9 @@ sub getManufacturerFromCode {
         "IFS" => "InFocus",
         "BOE" => "BOE Display Technology",
         "IQT" => "Hyundai",
-        "HSD" => "Hannspree Inc"
+        "HSD" => "Hannspree Inc",
+        "PRT" => "Princeton",
+        "PDC" => "Polaroid"
 
 
     };
diff --git a/t/tools/generic.t b/t/tools/generic.t
index 42f4c6d..16f053e 100755
--- a/t/tools/generic.t
+++ b/t/tools/generic.t
@@ -5894,7 +5894,7 @@ my %cpu_tests = (
         {
             ID             => '42 0F 10 00 FF FB 8B 07',
             NAME           => undef,
-            SPEED          => '30000',
+            SPEED          => '2300',
             THREAD         => undef,
             SERIAL         => undef,
             MANUFACTURER   => 'AuthenticAMD',


================================================================
  Commit: c6eb0313fa092e9fec3d5bdb5a08666ef4aa8fa9
      https://github.com/fusinv/fusioninventory-agent/commit/c6eb0313fa092e9fec3d5bdb5a08666ef4aa8fa9
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm

  Log Message:
  -----------
  isolate parsing into a function


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
index c8af20d..b57b28d 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
@@ -26,37 +26,48 @@ sub doInventory {
 
     my @devices = getDevicesFromUdev(logger => $logger);
 
-    foreach my $hd (@devices) {
-        my $handle = getFileHandle(
-            logger => $logger,
-            command => "mpt-status -n -i $hd->{SCSI_UNID}"
-        );
-        next unless $handle;
-        while (my $line = <$handle>) {
-            next unless $line =~ /phys_id:(\d+).*product_id:\s*(\S*)\s+revision:(\S+).*size\(GB\):(\d+)/;
-            my $id = $1;
-
-            my $storage = {
-                NAME => $hd->{NAME},
-                DESCRIPTION => 'SATA',
-                TYPE        => 'disk',
-                MODEL       => $2,
-                FIRMWARE    => $3,
-                SIZE        => $4 * 1024
-            };
-
-            $storage->{SERIALNUMBER} = getSerialnumber(
-                device => "/dev/sg$id"
+    foreach my $device (@devices) {
+        foreach my $disk (_getDiskFromMptStatus(
+            name    => $device->{NAME},
+            logger  => $logger,
+            command => "mpt-status -n -i $device->{SCSI_UNID}"
+        )) {
+            $disk->{SERIALNUMBER} = getSerialnumber(
+                device => "/dev/sg$disk->{id}"
             );
-            $storage->{MANUFACTURER} = getCanonicalManufacturer(
-                $storage->{MODEL}
-            );
-
-            $inventory->addEntry(section => 'STORAGES', entry => $storage);
+            delete $disk->{id};
+            $inventory->addEntry(section => 'STORAGES', entry => $disk);
         }
-        close $handle;
     }
 
 }
 
+sub _getDiskFromMptStatus {
+    my (%params) = @_;
+
+    my $handle = getFileHandle(%params);
+    next unless $handle;
+
+    my @disks;
+    while (my $line = <$handle>) {
+        next unless $line =~ /phys_id:(\d+).*product_id:\s*(\S*)\s+revision:(\S+).*size\(GB\):(\d+)/;
+
+        my $disk = {
+            NAME         => $params{name},
+            DESCRIPTION  => 'SATA',
+            TYPE         => 'disk',
+            id           => $1,
+            MODEL        => $2,
+            MANUFACTURER => getCanonicalManufacturer($2),
+            FIRMWARE     => $3,
+            SIZE         => $4 * 1024
+        };
+
+        push @disks, $disk;
+    }
+    close $handle;
+
+    return @disks;
+}
+
 1;


================================================================
  Commit: 606558078b7de5dcff50add5582775531295cd7e
      https://github.com/fusinv/fusioninventory-agent/commit/606558078b7de5dcff50add5582775531295cd7e
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm

  Log Message:
  -----------
  more understandable regexp


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
index b57b28d..ce0b463 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
@@ -50,7 +50,14 @@ sub _getDiskFromMptStatus {
 
     my @disks;
     while (my $line = <$handle>) {
-        next unless $line =~ /phys_id:(\d+).*product_id:\s*(\S*)\s+revision:(\S+).*size\(GB\):(\d+)/;
+        next unless $line =~ /
+            phys_id:(\d+) \s
+            scsi_id:\d+ \s
+            vendor:\S+ \s+
+            product_id:(\S+) \s+
+            revision:(\S+) \s+
+            size\(GB\):(\d+)
+        /x;
 
         my $disk = {
             NAME         => $params{name},


================================================================
  Commit: 9ed21970f05e17312158b370f534cc6598b82545
      https://github.com/fusinv/fusioninventory-agent/commit/9ed21970f05e17312158b370f534cc6598b82545
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm

  Log Message:
  -----------
  fix product_id parsing


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
index ce0b463..4404d02 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
@@ -54,7 +54,7 @@ sub _getDiskFromMptStatus {
             phys_id:(\d+) \s
             scsi_id:\d+ \s
             vendor:\S+ \s+
-            product_id:(\S+) \s+
+            product_id:(\S.+\S) \s+
             revision:(\S+) \s+
             size\(GB\):(\d+)
         /x;


================================================================
  Commit: 1eabd29364a18a5c0ef324ac95f6d35be38f93ad
      https://github.com/fusinv/fusioninventory-agent/commit/1eabd29364a18a5c0ef324ac95f6d35be38f93ad
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    A resources/linux/mpt-status/sample1
    A resources/linux/mpt-status/sample2
    A t/inventory/linux/storages/lsilogic.t

  Log Message:
  -----------
  initial import


diff --git a/resources/linux/mpt-status/sample1 b/resources/linux/mpt-status/sample1
new file mode 100644
index 0000000..bd2e0b2
--- /dev/null
+++ b/resources/linux/mpt-status/sample1
@@ -0,0 +1,5 @@
+ioc:0 vol_id:0 type:IM raidlevel:RAID-1 num_disks:2 size(GB):148 state: OPTIMAL flags: ENABLED
+ioc:0 phys_id:1 scsi_id:2 vendor:ATA      product_id:ST3160815AS      revision:D    size(GB):149 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+ioc:0 phys_id:0 scsi_id:1 vendor:ATA      product_id:ST3160815AS      revision:D    size(GB):149 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+scsi_id:1 100%
+scsi_id:0 100%
diff --git a/resources/linux/mpt-status/sample2 b/resources/linux/mpt-status/sample2
new file mode 100644
index 0000000..4e12a3d
--- /dev/null
+++ b/resources/linux/mpt-status/sample2
@@ -0,0 +1,13 @@
+ioc:0 vol_id:1 type:IME raidlevel:RAID-1E num_disks:6 size(GB):407 state: OPTIMAL flags: ENABLED
+ioc:0 phys_id:5 scsi_id:7 vendor:IBM-ESXS product_id:CBRCA146C3ETS0 N revision:C610 size(GB):136 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+ioc:0 phys_id:4 scsi_id:2 vendor:IBM-ESXS product_id:CBRCA146C3ETS0 N revision:C610 size(GB):136 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+ioc:0 phys_id:3 scsi_id:3 vendor:IBM-ESXS product_id:ST9146803SS      revision:B53C size(GB):136 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+ioc:0 phys_id:2 scsi_id:4 vendor:IBM-ESXS product_id:CBRCA146C3ETS0 N revision:C610 size(GB):136 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+ioc:0 phys_id:1 scsi_id:5 vendor:IBM-ESXS product_id:CBRCA146C3ETS0 N revision:C610 size(GB):136 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+ioc:0 phys_id:0 scsi_id:6 vendor:IBM-ESXS product_id:CBRCA146C3ETS0 N revision:C610 size(GB):136 state: ONLINE flags: NONE sync_state: 100 ASC/ASCQ:0xff/0xff SMART ASC/ASCQ:0xff/0xff
+scsi_id:5 100%
+scsi_id:4 100%
+scsi_id:3 100%
+scsi_id:2 100%
+scsi_id:1 100%
+scsi_id:0 100%
diff --git a/t/inventory/linux/storages/lsilogic.t b/t/inventory/linux/storages/lsilogic.t
new file mode 100755
index 0000000..2cf3531
--- /dev/null
+++ b/t/inventory/linux/storages/lsilogic.t
@@ -0,0 +1,110 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+use FusionInventory::Agent::Task::Inventory::Input::Linux::Storages::Lsilogic;
+use Test::More;
+
+plan tests => 2;
+
+my %tests = (
+    sample1 => {
+        name       => 'foo',
+        disks   => [
+             {
+                SIZE         => '152576',
+                NAME         => 'foo',
+                FIRMWARE     => 'D',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3160815AS',
+                DESCRIPTION  => 'SATA',
+                id           => '1',
+                TYPE         => 'disk'
+            },
+            {
+                SIZE         => '152576',
+                NAME         => 'foo',
+                FIRMWARE     => 'D',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3160815AS',
+                DESCRIPTION  => 'SATA',
+                id           => '0',
+                TYPE         => 'disk'
+          }
+        ]
+    },
+    sample2 => {
+        name       => 'foo',
+        disks      => [
+            {
+                SIZE         => '139264',
+                NAME         => 'foo',
+                FIRMWARE     => 'C610',
+                MANUFACTURER => 'CBRCA146C3ETS0 N',
+                MODEL        => 'CBRCA146C3ETS0 N',
+                DESCRIPTION  => 'SATA',
+                id           => '5',
+                TYPE         => 'disk'
+            },
+            {
+                SIZE         => '139264',
+                NAME         => 'foo',
+                FIRMWARE     => 'C610',
+                MANUFACTURER => 'CBRCA146C3ETS0 N',
+                MODEL        => 'CBRCA146C3ETS0 N',
+                DESCRIPTION  => 'SATA',
+                id           => '4',
+                TYPE         => 'disk'
+            },
+            {
+                SIZE         => '139264',
+                NAME         => 'foo',
+                FIRMWARE     => 'B53C',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST9146803SS',
+                DESCRIPTION  => 'SATA',
+                id           => '3',
+                TYPE         => 'disk'
+            },
+            {
+                SIZE         => '139264',
+                NAME         => 'foo',
+                FIRMWARE     => 'C610',
+                MANUFACTURER => 'CBRCA146C3ETS0 N',
+                MODEL        => 'CBRCA146C3ETS0 N',
+                DESCRIPTION  => 'SATA',
+                id           => '2',
+                TYPE         => 'disk'
+            },
+            {
+                SIZE         => '139264',
+                NAME         => 'foo',
+                FIRMWARE     => 'C610',
+                MANUFACTURER => 'CBRCA146C3ETS0 N',
+                MODEL        => 'CBRCA146C3ETS0 N',
+                DESCRIPTION  => 'SATA',
+                id           => '1',
+                TYPE         => 'disk'
+            },
+            {
+                SIZE         => '139264',
+                NAME         => 'foo',
+                FIRMWARE     => 'C610',
+                MANUFACTURER => 'CBRCA146C3ETS0 N',
+                MODEL        => 'CBRCA146C3ETS0 N',
+                DESCRIPTION  => 'SATA',
+                id           => '0',
+                TYPE         => 'disk'
+            }
+        ]
+    }
+);
+
+foreach my $test (keys %tests) {
+    my $file = "resources/linux/mpt-status/$test";
+    my @disks = FusionInventory::Agent::Task::Inventory::Input::Linux::Storages::Lsilogic::_getDiskFromMptStatus(
+        file       => $file,
+        name       => $tests{$test}->{name},
+    );
+    is_deeply(\@disks, $tests{$test}->{disks}, $test);
+}


================================================================
  Commit: 82bf95dd7d0002c0a0e5764e890744cd12025a50
      https://github.com/fusinv/fusioninventory-agent/commit/82bf95dd7d0002c0a0e5764e890744cd12025a50
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    A resources/linux/proc/scsi/linux3
    A resources/linux/proc/scsi/linux4

  Log Message:
  -----------
  initial import


diff --git a/resources/linux/proc/scsi/linux3 b/resources/linux/proc/scsi/linux3
new file mode 100644
index 0000000..04587af
--- /dev/null
+++ b/resources/linux/proc/scsi/linux3
@@ -0,0 +1,25 @@
+Attached devices:
+Host: scsi0 Channel: 00 Id: 00 Lun: 00
+  Vendor: MATSHITA Model: UJDA782 DVD/CDRW Rev: VA13
+  Type:   CD-ROM                           ANSI  SCSI revision: 05
+Host: scsi4 Channel: 00 Id: 00 Lun: 00
+  Vendor: IBM-ESXS Model: CBRCA146C3ETS0 N Rev: C610
+  Type:   Direct-Access                    ANSI  SCSI revision: 06
+Host: scsi4 Channel: 00 Id: 01 Lun: 00
+  Vendor: IBM-ESXS Model: CBRCA146C3ETS0 N Rev: C610
+  Type:   Direct-Access                    ANSI  SCSI revision: 06
+Host: scsi4 Channel: 00 Id: 02 Lun: 00
+  Vendor: IBM-ESXS Model: ST9146803SS      Rev: B53C
+  Type:   Direct-Access                    ANSI  SCSI revision: 05
+Host: scsi4 Channel: 00 Id: 03 Lun: 00
+  Vendor: IBM-ESXS Model: CBRCA146C3ETS0 N Rev: C610
+  Type:   Direct-Access                    ANSI  SCSI revision: 06
+Host: scsi4 Channel: 00 Id: 04 Lun: 00
+  Vendor: IBM-ESXS Model: CBRCA146C3ETS0 N Rev: C610
+  Type:   Direct-Access                    ANSI  SCSI revision: 06
+Host: scsi4 Channel: 00 Id: 05 Lun: 00
+  Vendor: IBM-ESXS Model: CBRCA146C3ETS0 N Rev: C610
+  Type:   Direct-Access                    ANSI  SCSI revision: 06
+Host: scsi4 Channel: 01 Id: 01 Lun: 00
+  Vendor: LSILOGIC Model: Logical Volume   Rev: 3000
+  Type:   Direct-Access                    ANSI  SCSI revision: 02
diff --git a/resources/linux/proc/scsi/linux4 b/resources/linux/proc/scsi/linux4
new file mode 100644
index 0000000..f63873e
--- /dev/null
+++ b/resources/linux/proc/scsi/linux4
@@ -0,0 +1,28 @@
+Attached devices:
+Host: scsi0 Channel: 00 Id: 00 Lun: 00
+  Vendor: ServeRA  Model: Drive 1          Rev: V1.0
+  Type:   Direct-Access                    ANSI SCSI revision: 02
+Host: scsi0 Channel: 00 Id: 01 Lun: 00
+  Vendor: ServeRA  Model: Drive 2          Rev: V1.0
+  Type:   Direct-Access                    ANSI SCSI revision: 02
+Host: scsi0 Channel: 01 Id: 00 Lun: 00
+  Vendor: IBM-ESXS Model: ST3300655SS      Rev: BA23
+  Type:   Direct-Access                    ANSI SCSI revision: 05
+Host: scsi0 Channel: 01 Id: 01 Lun: 00
+  Vendor: IBM-ESXS Model: ST3300655SS      Rev: BA23
+  Type:   Direct-Access                    ANSI SCSI revision: 05
+Host: scsi0 Channel: 01 Id: 02 Lun: 00
+  Vendor: IBM-ESXS Model: ST3300655SS      Rev: BA23
+  Type:   Direct-Access                    ANSI SCSI revision: 05
+Host: scsi0 Channel: 01 Id: 03 Lun: 00
+  Vendor: IBM-ESXS Model: ST3300655SS      Rev: BA23
+  Type:   Direct-Access                    ANSI SCSI revision: 05
+Host: scsi0 Channel: 01 Id: 04 Lun: 00
+  Vendor: IBM-ESXS Model: ST3300655SS      Rev: BA23
+  Type:   Direct-Access                    ANSI SCSI revision: 05
+Host: scsi0 Channel: 01 Id: 05 Lun: 00
+  Vendor: IBM-ESXS Model: ST3300655SS      Rev: BA23
+  Type:   Direct-Access                    ANSI SCSI revision: 05
+Host: scsi0 Channel: 03 Id: 00 Lun: 00
+  Vendor: IBM-ESXS Model: VSC7160          Rev: 1.06
+  Type:   Enclosure                        ANSI SCSI revision: 03


================================================================
  Commit: 9e328f37e482ed211ac5ccfbb79fd2283d9c4317
      https://github.com/fusinv/fusioninventory-agent/commit/9e328f37e482ed211ac5ccfbb79fd2283d9c4317
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    M t/inventory/linux/storages/adaptec.t

  Log Message:
  -----------
  new samples


diff --git a/t/inventory/linux/storages/adaptec.t b/t/inventory/linux/storages/adaptec.t
index 0ce27a0..dca9809 100644
--- a/t/inventory/linux/storages/adaptec.t
+++ b/t/inventory/linux/storages/adaptec.t
@@ -2,10 +2,9 @@
 
 use strict;
 use warnings;
-use FusionInventory::Agent::Task::Inventory::Input::Linux::Storages::Adaptec;
-use Test::More;
 
-plan tests => 2;
+use Test::More;
+use FusionInventory::Agent::Task::Inventory::Input::Linux::Storages::Adaptec;
 
 my %tests = (
     linux1 => {
@@ -46,9 +45,113 @@ my %tests = (
                 DEVICE       => '/dev/sg2'
             }
         ]
+    },
+    linux3 => {
+        controller => 'scsi0',
+        name       => 'foo',
+        disks      => [
+            {
+                NAME         => 'foo',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                MODEL        => 'UJDA782',
+                MANUFACTURER => 'UJDA782',
+                FIRMWARE     => 'VA13',
+                DEVICE       => '/dev/sg0'
+            },
+        ]
+    },
+    linux4 => {
+        controller => 'scsi0',
+        name       => 'foo',
+        disks      => [
+            {
+                NAME         => 'foo',
+                FIRMWARE     => 'V1.0',
+                MANUFACTURER => 'Drive',
+                MODEL        => 'Drive',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg0'
+            },
+            {
+                NAME         => 'foo',
+                FIRMWARE     => 'V1.0',
+                MANUFACTURER => 'Drive',
+                MODEL        => 'Drive',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg1'
+            },
+            {
+                NAME         => 'foo',
+                FIRMWARE     => 'BA23',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3300655SS',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg2'
+                },
+                {
+                NAME         => 'foo',
+                FIRMWARE     => 'BA23',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3300655SS',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg3'
+            },
+            {
+                NAME         => 'foo',
+                FIRMWARE     => 'BA23',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3300655SS',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg4'
+            },
+            {
+                NAME         => 'foo',
+                FIRMWARE     => 'BA23',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3300655SS',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg5'
+            },
+            {
+                NAME         => 'foo',
+                FIRMWARE     => 'BA23',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3300655SS',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg6'
+            },
+            {
+                NAME         => 'foo',
+                FIRMWARE     => 'BA23',
+                MANUFACTURER => 'Seagate',
+                MODEL        => 'ST3300655SS',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg7'
+            },
+            {
+                NAME         => 'foo',
+                FIRMWARE     => '1.06',
+                MANUFACTURER => 'VSC7160',
+                MODEL        => 'VSC7160',
+                DESCRIPTION  => 'SATA',
+                TYPE         => 'disk',
+                DEVICE       => '/dev/sg8'
+            }
+        ]
     }
 );
 
+plan tests => scalar keys %tests;
+
 foreach my $test (keys %tests) {
     my $file = "resources/linux/proc/scsi/$test";
     my @disks = FusionInventory::Agent::Task::Inventory::Input::Linux::Storages::Adaptec::_getDisksFromProc(


================================================================
  Commit: a6e6a80040a27c307e3f4e0aba91ecb82a23f4d7
      https://github.com/fusinv/fusioninventory-agent/commit/a6e6a80040a27c307e3f4e0aba91ecb82a23f4d7
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    M t/inventory/linux/storages/lsilogic.t

  Log Message:
  -----------
  compute tests count


diff --git a/t/inventory/linux/storages/lsilogic.t b/t/inventory/linux/storages/lsilogic.t
index 2cf3531..70a9dea 100755
--- a/t/inventory/linux/storages/lsilogic.t
+++ b/t/inventory/linux/storages/lsilogic.t
@@ -5,8 +5,6 @@ use warnings;
 use FusionInventory::Agent::Task::Inventory::Input::Linux::Storages::Lsilogic;
 use Test::More;
 
-plan tests => 2;
-
 my %tests = (
     sample1 => {
         name       => 'foo',
@@ -100,6 +98,8 @@ my %tests = (
     }
 );
 
+plan tests => scalar keys %tests;
+
 foreach my $test (keys %tests) {
     my $file = "resources/linux/mpt-status/$test";
     my @disks = FusionInventory::Agent::Task::Inventory::Input::Linux::Storages::Lsilogic::_getDiskFromMptStatus(


================================================================
  Commit: 779eea8dbbacbc9682058d338745dfdfb6f727d8
      https://github.com/fusinv/fusioninventory-agent/commit/779eea8dbbacbc9682058d338745dfdfb6f727d8
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-02 (Wed, 02 May 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm

  Log Message:
  -----------
  useless comments


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
index 9ddf21a..ee6a135 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
@@ -8,12 +8,6 @@ use English qw(-no_match_vars);
 use FusionInventory::Agent::Tools;
 use FusionInventory::Agent::Tools::Linux;
 
-# Tested on 2.6.* kernels
-#
-# Cards tested :
-#
-# Adaptec AAC-RAID
-
 sub isEnabled {
     return -r '/proc/scsi/scsi';
 }
diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
index 4404d02..3159d3f 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
@@ -6,14 +6,6 @@ use warnings;
 use FusionInventory::Agent::Tools;
 use FusionInventory::Agent::Tools::Linux;
 
-# Tested on 2.6.* kernels
-#
-# Cards tested :
-#
-# LSI Logic / Symbios Logic SAS1064E PCI-Express Fusion-MPT SAS
-#
-# mpt-status version : 1.2.0
-
 sub isEnabled {
     return canRun('mpt-status');
 }


================================================================
  Commit: 2a20f8caee3af4c37859a2d47765bef00320cc42
      https://github.com/fusinv/fusioninventory-agent/commit/2a20f8caee3af4c37859a2d47765bef00320cc42
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-03 (Thu, 03 May 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
    M t/inventory/linux/storages/adaptec.t
    M t/inventory/linux/storages/lsilogic.t

  Log Message:
  -----------
  fix serial number computation


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
index ee6a135..ab8198a 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
@@ -31,7 +31,8 @@ sub doInventory {
                 name       => $device->{NAME},
                 logger     => $logger
             )) {
-            $disk->{SERIALNUMBER} = getSerialnumber($disk->{device});
+            $disk->{SERIALNUMBER} = getSerialnumber(device => $disk->{device});
+            delete $disk->{device};
             $inventory->addEntry(section => 'STORAGES', entry => $disk);
         }
     }
@@ -79,7 +80,7 @@ sub _getDisksFromProc {
             $disk->{MANUFACTURER} = getCanonicalManufacturer(
                 $disk->{MODEL}
             );
-            $disk->{DEVICE} = "/dev/sg$count";
+            $disk->{device} = "/dev/sg$count";
 
             push @disks, $disk;
         }
diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
index 3159d3f..73b4c49 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Lsilogic.pm
@@ -24,10 +24,8 @@ sub doInventory {
             logger  => $logger,
             command => "mpt-status -n -i $device->{SCSI_UNID}"
         )) {
-            $disk->{SERIALNUMBER} = getSerialnumber(
-                device => "/dev/sg$disk->{id}"
-            );
-            delete $disk->{id};
+            $disk->{SERIALNUMBER} = getSerialnumber(device => $disk->{device});
+            delete $disk->{device};
             $inventory->addEntry(section => 'STORAGES', entry => $disk);
         }
     }
@@ -55,7 +53,7 @@ sub _getDiskFromMptStatus {
             NAME         => $params{name},
             DESCRIPTION  => 'SATA',
             TYPE         => 'disk',
-            id           => $1,
+            device       => "/dev/sg$1",
             MODEL        => $2,
             MANUFACTURER => getCanonicalManufacturer($2),
             FIRMWARE     => $3,
diff --git a/t/inventory/linux/storages/adaptec.t b/t/inventory/linux/storages/adaptec.t
index dca9809..40be5bd 100644
--- a/t/inventory/linux/storages/adaptec.t
+++ b/t/inventory/linux/storages/adaptec.t
@@ -18,7 +18,7 @@ my %tests = (
                 MODEL        => 'SAMSUNG',
                 MANUFACTURER => 'Samsung',
                 FIRMWARE     => 'VBM2',
-                DEVICE       => '/dev/sg0'
+                device       => '/dev/sg0'
             }
         ]
     },
@@ -33,7 +33,7 @@ my %tests = (
                 MODEL        => 'HUS151436VL3800',
                 MANUFACTURER => 'Hitachi',
                 FIRMWARE     => 'S3C0',
-                DEVICE       => '/dev/sg1'
+                device       => '/dev/sg1'
             },
             {
                 NAME         => 'foo',
@@ -42,7 +42,7 @@ my %tests = (
                 MODEL        => 'HUS151436VL3800',
                 MANUFACTURER => 'Hitachi',
                 FIRMWARE     => 'S3C0',
-                DEVICE       => '/dev/sg2'
+                device       => '/dev/sg2'
             }
         ]
     },
@@ -57,7 +57,7 @@ my %tests = (
                 MODEL        => 'UJDA782',
                 MANUFACTURER => 'UJDA782',
                 FIRMWARE     => 'VA13',
-                DEVICE       => '/dev/sg0'
+                device       => '/dev/sg0'
             },
         ]
     },
@@ -72,7 +72,7 @@ my %tests = (
                 MODEL        => 'Drive',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg0'
+                device       => '/dev/sg0'
             },
             {
                 NAME         => 'foo',
@@ -81,7 +81,7 @@ my %tests = (
                 MODEL        => 'Drive',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg1'
+                device       => '/dev/sg1'
             },
             {
                 NAME         => 'foo',
@@ -90,7 +90,7 @@ my %tests = (
                 MODEL        => 'ST3300655SS',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg2'
+                device       => '/dev/sg2'
                 },
                 {
                 NAME         => 'foo',
@@ -99,7 +99,7 @@ my %tests = (
                 MODEL        => 'ST3300655SS',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg3'
+                device       => '/dev/sg3'
             },
             {
                 NAME         => 'foo',
@@ -108,7 +108,7 @@ my %tests = (
                 MODEL        => 'ST3300655SS',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg4'
+                device       => '/dev/sg4'
             },
             {
                 NAME         => 'foo',
@@ -117,7 +117,7 @@ my %tests = (
                 MODEL        => 'ST3300655SS',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg5'
+                device       => '/dev/sg5'
             },
             {
                 NAME         => 'foo',
@@ -126,7 +126,7 @@ my %tests = (
                 MODEL        => 'ST3300655SS',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg6'
+                device       => '/dev/sg6'
             },
             {
                 NAME         => 'foo',
@@ -135,7 +135,7 @@ my %tests = (
                 MODEL        => 'ST3300655SS',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg7'
+                device       => '/dev/sg7'
             },
             {
                 NAME         => 'foo',
@@ -144,7 +144,7 @@ my %tests = (
                 MODEL        => 'VSC7160',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                DEVICE       => '/dev/sg8'
+                device       => '/dev/sg8'
             }
         ]
     }
diff --git a/t/inventory/linux/storages/lsilogic.t b/t/inventory/linux/storages/lsilogic.t
index 70a9dea..fefa13a 100755
--- a/t/inventory/linux/storages/lsilogic.t
+++ b/t/inventory/linux/storages/lsilogic.t
@@ -16,7 +16,7 @@ my %tests = (
                 MANUFACTURER => 'Seagate',
                 MODEL        => 'ST3160815AS',
                 DESCRIPTION  => 'SATA',
-                id           => '1',
+                device       => '/dev/sg1',
                 TYPE         => 'disk'
             },
             {
@@ -26,7 +26,7 @@ my %tests = (
                 MANUFACTURER => 'Seagate',
                 MODEL        => 'ST3160815AS',
                 DESCRIPTION  => 'SATA',
-                id           => '0',
+                device       => '/dev/sg0',
                 TYPE         => 'disk'
           }
         ]
@@ -41,7 +41,7 @@ my %tests = (
                 MANUFACTURER => 'CBRCA146C3ETS0 N',
                 MODEL        => 'CBRCA146C3ETS0 N',
                 DESCRIPTION  => 'SATA',
-                id           => '5',
+                device       => '/dev/sg5',
                 TYPE         => 'disk'
             },
             {
@@ -51,7 +51,7 @@ my %tests = (
                 MANUFACTURER => 'CBRCA146C3ETS0 N',
                 MODEL        => 'CBRCA146C3ETS0 N',
                 DESCRIPTION  => 'SATA',
-                id           => '4',
+                device       => '/dev/sg4',
                 TYPE         => 'disk'
             },
             {
@@ -61,7 +61,7 @@ my %tests = (
                 MANUFACTURER => 'Seagate',
                 MODEL        => 'ST9146803SS',
                 DESCRIPTION  => 'SATA',
-                id           => '3',
+                device       => '/dev/sg3',
                 TYPE         => 'disk'
             },
             {
@@ -71,7 +71,7 @@ my %tests = (
                 MANUFACTURER => 'CBRCA146C3ETS0 N',
                 MODEL        => 'CBRCA146C3ETS0 N',
                 DESCRIPTION  => 'SATA',
-                id           => '2',
+                device       => '/dev/sg2',
                 TYPE         => 'disk'
             },
             {
@@ -81,7 +81,7 @@ my %tests = (
                 MANUFACTURER => 'CBRCA146C3ETS0 N',
                 MODEL        => 'CBRCA146C3ETS0 N',
                 DESCRIPTION  => 'SATA',
-                id           => '1',
+                device       => '/dev/sg1',
                 TYPE         => 'disk'
             },
             {
@@ -91,7 +91,7 @@ my %tests = (
                 MANUFACTURER => 'CBRCA146C3ETS0 N',
                 MODEL        => 'CBRCA146C3ETS0 N',
                 DESCRIPTION  => 'SATA',
-                id           => '0',
+                device       => '/dev/sg0',
                 TYPE         => 'disk'
             }
         ]


================================================================
  Commit: 161a58e789308927a54ec6d80617fee2da52c6f3
      https://github.com/fusinv/fusioninventory-agent/commit/161a58e789308927a54ec6d80617fee2da52c6f3
  Author: Guillaume Rousse <guillomovitch at gmail.com>
  Date:   2012-05-03 (Thu, 03 May 2012)

  Changed paths:
    M lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
    M t/inventory/linux/storages/adaptec.t

  Log Message:
  -----------
  fix model parsing


diff --git a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
index ab8198a..b036683 100644
--- a/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
+++ b/lib/FusionInventory/Agent/Task/Inventory/Input/Linux/Storages/Adaptec.pm
@@ -69,7 +69,7 @@ sub _getDisksFromProc {
             }
         }
 
-        if ($line =~ /Model:\s(\S+).*Rev:\s(\S+)/) {
+        if ($line =~ /Model: \s (\S.+\S) \s+ Rev: \s (\S+)/x) {
             next unless $disk;
             $disk->{MODEL}    = $1;
             $disk->{FIRMWARE} = $2;
diff --git a/t/inventory/linux/storages/adaptec.t b/t/inventory/linux/storages/adaptec.t
index 40be5bd..790c99e 100644
--- a/t/inventory/linux/storages/adaptec.t
+++ b/t/inventory/linux/storages/adaptec.t
@@ -15,7 +15,7 @@ my %tests = (
                 NAME         => 'foo',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                MODEL        => 'SAMSUNG',
+                MODEL        => 'SAMSUNG SSD PM80',
                 MANUFACTURER => 'Samsung',
                 FIRMWARE     => 'VBM2',
                 device       => '/dev/sg0'
@@ -54,8 +54,8 @@ my %tests = (
                 NAME         => 'foo',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
-                MODEL        => 'UJDA782',
-                MANUFACTURER => 'UJDA782',
+                MODEL        => 'UJDA782 DVD/CDRW',
+                MANUFACTURER => 'UJDA782 DVD/CDRW',
                 FIRMWARE     => 'VA13',
                 device       => '/dev/sg0'
             },
@@ -68,8 +68,8 @@ my %tests = (
             {
                 NAME         => 'foo',
                 FIRMWARE     => 'V1.0',
-                MANUFACTURER => 'Drive',
-                MODEL        => 'Drive',
+                MANUFACTURER => 'Drive 1',
+                MODEL        => 'Drive 1',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
                 device       => '/dev/sg0'
@@ -77,8 +77,8 @@ my %tests = (
             {
                 NAME         => 'foo',
                 FIRMWARE     => 'V1.0',
-                MANUFACTURER => 'Drive',
-                MODEL        => 'Drive',
+                MANUFACTURER => 'Drive 2',
+                MODEL        => 'Drive 2',
                 DESCRIPTION  => 'SATA',
                 TYPE         => 'disk',
                 device       => '/dev/sg1'


================================================================
Compare: https://github.com/fusinv/fusioninventory-agent/compare/3323c14...161a58e


More information about the Fusioninventory-commit mailing list