Changes in ipmi/test_ipmi_sel.robot
- Verify Clear SEL After Cold Reset
Removed ipmi raw cold reset command and added IPMI MC Reset Cold (RUN)
Modified Fetch Any Sensor From Sensor List keyword, Omitted discrete sensor and randomly selected
one threshold based sensor in lib/ipmi_client.robot.
Signed-off-by: ganesanb <ganesanb@ami.com>
Change-Id: I7fb4880bcd4681ec2bb40a27d632bdc0be98f9d3
diff --git a/ipmi/test_ipmi_sel.robot b/ipmi/test_ipmi_sel.robot
index e2269ba..b4b743d 100644
--- a/ipmi/test_ipmi_sel.robot
+++ b/ipmi/test_ipmi_sel.robot
@@ -9,11 +9,6 @@
Test Setup Test Setup Execution
Test Teardown FFDC On Test Case Fail
-*** Variables ***
-
-${sensor_number} 0x17
-
-
*** Test Cases ***
Verify IPMI SEL Version
@@ -71,7 +66,7 @@
[Teardown] Run Keywords FFDC On Test Case Fail AND Run IPMI Standard Command sel clear
# Get any sensor available from sensor list.
- ${sensor_name}= Fetch Any Sensor From Sensor List
+ ${sensor_name}= Fetch One Threshold Sensor From Sensor List
# Get Sensor ID from SDR get "sensor".
${sensor_data1}= Fetch Sensor Details From SDR ${sensor_name} Sensor ID
@@ -149,7 +144,7 @@
ELSE
# Get any Sensor available from Sensor list
- ${sensor_name}= Fetch Any Sensor From Sensor List
+ ${sensor_name}= Fetch One Threshold Sensor From Sensor List
# Get Sensor ID from SDR Get "sensor" and Identify Sensor ID.
${sensor_data1}= Fetch Sensor Details From SDR ${sensor_name} Sensor ID
@@ -260,10 +255,7 @@
${reserve_id}= Split String ${resp}
# Run Cold Reset.
- ${resp}= Run IPMI Standard Command
- ... raw ${IPMI_RAW_CMD['Cold Reset']['reset'][0]}
- Wait Until Keyword Succeeds 3 min 10 sec Is BMC Unpingable
- Wait Until Keyword Succeeds 3 min 10 sec Is BMC Operational
+ IPMI MC Reset Cold (off)
${cmd}= Catenate ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][0]} 0x${reserve_id[0]}
... 0x${reserve_id[1]} ${IPMI_RAW_CMD['SEL_entry']['Clear_SEL'][1]}
diff --git a/lib/ipmi_client.robot b/lib/ipmi_client.robot
index d6b944c..8bee9da 100755
--- a/lib/ipmi_client.robot
+++ b/lib/ipmi_client.robot
@@ -462,26 +462,27 @@
[Return] ${resp}
-Fetch Any Sensor From Sensor List
- [Documentation] Find any sensor name randomly from Sensor list.
+Fetch One Threshold Sensor From Sensor List
+ [Documentation] Fetch one threshold sensor randomly from Sensor list.
+
+ @{sensor_name_list}= Create List
${resp}= Run IPMI Standard Command sensor
+ @{sensor_list}= Split To Lines ${resp}
- # Find total number of sensor.
- ${data}= Split To Lines ${resp}
- ${length}= Get Length ${data}
+ # Omit the discrete sensor and create an threshold sensor name list
+ FOR ${sensor} IN @{sensor_list}
+ ${discrete_sensor_status}= Run Keyword And Return Status Should Contain ${sensor} discrete
+ Continue For Loop If '${discrete_sensor_status}' == 'True'
+ ${sensor_details}= Split String ${sensor} |
+ ${get_sensor_name}= Get From List ${sensor_details} 0
+ ${sensor_name}= Set Variable ${get_sensor_name.strip()}
+ Append To List ${sensor_name_list} ${sensor_name}
+ END
- # Identify any one sensor.
- ${sensor_index}= Evaluate random.randint(1, ${length}) modules=random
- ${sensor_data}= Set Variable ${data[${sensor_index}-1]}
- ${sensor}= Split String ${sensor_data} |
+ ${random_sensor_name}= Evaluate random.choice(${sensor_name_list}) random
- # Retrieve Sensor Name and return.
- ${sensor_name}= Set Variable ${sensor[0]}
- ${sensor_name}= Remove Whitespace ${sensor_name}
-
- [Return] ${sensor_name}
-
+ [Return] ${random_sensor_name}
Fetch Sensor Details From SDR
[Documentation] Identify the sensors from sdr get and fetch sensor details required.