Skip to content

Commit

Permalink
fix(errmsg): attempt to fix #4703 (renew old PR)
Browse files Browse the repository at this point in the history
  • Loading branch information
omercier committed Feb 9, 2024
1 parent 9cda4b4 commit 5482d90
Show file tree
Hide file tree
Showing 3 changed files with 64 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/centreon/plugins/templates/hardware.pm
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ sub display {
foreach my $comp (sort(keys %{$self->{components}})) {
# Skipping short msg when no components
next if (!defined($self->{option_results}->{no_component_count}) && $self->{components}->{$comp}->{total} == 0 && $self->{components}->{$comp}->{skip} == 0);
next if (defined($self->{option_results}->{component}) && $comp !~ /$self->{option_results}->{component}/ );

if ($self->{count} == 1) {
($exit, $warn, $crit) = $self->get_severity_count(label => $comp, value => $self->{components}->{$comp}->{total});
Expand Down
53 changes: 53 additions & 0 deletions tests/functional/snmp/hardware-sensors-apc-snmp.robot
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
*** Settings ***
Documentation Hardware Sensors APC SNMP plugin
Library OperatingSystem
Library String
Library Examples

Test Timeout 120s


*** Variables ***
${CENTREON_PLUGINS} ${CURDIR}${/}..${/}..${/}..${/}src${/}centreon_plugins.pl

${CMD} perl ${CENTREON_PLUGINS} --plugin=hardware::sensors::apc::snmp::plugin --mode=sensors --hostname=127.0.0.1 --snmp-version=2c --snmp-port=2024

*** Test Cases ***
APC Sensors ${tc}/9
[Tags] hardware Sensors snmp
${command} Catenate
... ${CMD}
... --snmp-community=hardware/sensors/apc/sensors

# Append options to command
${command} Append Option To Command ${command} --warning ${warning}
${command} Append Option To Command ${command} --critical ${critical}
${command} Append Option To Command ${command} --component ${component}

${output} Run ${command}
${output} Strip String ${output}
Should Be Equal As Strings
... ${output}
... ${expected_result}
... Wrong output result for compliance of ${expected_result}{\n}Command output:{\n}${output}{\n}{\n}{\n}
#--component 'temperature' --warning='humidity,.,45:65' --critical='humidity,.,35:70'
Examples: tc component warning critical expected_result --
... 1 _empty_ _empty_ _empty_ OK: All 2 components are ok [2/2 temperatures]. | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;;;0;100 'hardware.temperature.count'=2;;;;
... 2 _empty_ humidity,.,45:65 _empty_ WARNING: Humidity 'Main Module:Sonde de temperature' is 35 % | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;45:65;;0;100 'hardware.temperature.count'=2;;;;
... 3 _empty_ humidity,.,45:65 humidity,.,35:70 WARNING: Humidity 'Main Module:Sonde de temperature' is 35 % | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;45:65;35:70;0;100 'hardware.temperature.count'=2;;;;
... 4 _empty_ _empty_ _empty_ OK: All 2 components are ok [2/2 temperatures]. | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;;;0;100 'hardware.temperature.count'=2;;;;
... 5 _empty_ humidity,.,45:65 _empty_ WARNING: Humidity 'Main Module:Sonde de temperature' is 35 % | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;45:65;;0;100 'hardware.temperature.count'=2;;;;
... 6 _empty_ humidity,.,45:65 humidity,.,35:70 WARNING: Humidity 'Main Module:Sonde de temperature' is 35 % | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;45:65;35:70;0;100 'hardware.temperature.count'=2;;;;
... 7 .* _empty_ _empty_ OK: All 2 components are ok [2/2 temperatures]. | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;;;0;100 'hardware.temperature.count'=2;;;;
... 8 _empty_ temperature,.,22:25 temperature,.,22:25 OK: All 2 components are ok [2/2 temperatures]. | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;22:25;22:25;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;;;0;100 'hardware.temperature.count'=2;;;;
... 9 _empty_ _empty_ _empty_ OK: All 2 components are ok [2/2 temperatures]. | 'Main Module:Sonde de temperature#hardware.sensor.temperature.celsius'=23C;;;; 'Main Module:Sonde de temperature#hardware.sensor.humidity.percentage'=35%;;;0;100 'hardware.temperature.count'=2;;;;

*** Keywords ***

Append Option To Command
[Documentation] Concatenates the first argument (option) with the second (value) after having replaced the value with "" if its content is '_empty_'
[Arguments] ${cmd} ${option} ${value}
${value} Set Variable If '${value}' == '_empty_' '' ${value}
[return] ${cmd} ${option}=${value}

10 changes: 10 additions & 0 deletions tests/resources/snmp/hardware/sensors/apc/sensors.snmpwalk
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
.1.3.6.1.4.1.318.1.1.10.3.12.11.0 = INTEGER: 1
.1.3.6.1.4.1.318.1.1.10.4.1.2.1.2.0 = STRING: Main Module
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.1.0.1 = INTEGER: 0
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.2.0.1 = INTEGER: 1
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.3.0.1 = STRING: Sonde de temperature
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.4.0.1 = STRING: salle serveur 1
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.5.0.1 = INTEGER: 23
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.6.0.1 = INTEGER: 35
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.7.0.1 = INTEGER: 2
.1.3.6.1.4.1.318.1.1.10.4.2.3.1.8.0.1 = INTEGER: 1

0 comments on commit 5482d90

Please sign in to comment.