Fix deprecated Exit For Loop builtin for IPMI
Changes:
- Exit For Loop If is deprecated since
Robot Framework version 5.*, use IF and BREAK instead
Tested:
- Checked using robot dry-run to make sure the
syntax is not broken
Change-Id: I25903fb2937325b5c78ba412b44c16d6e9e1558a
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com>
diff --git a/ipmi/test_ipmi_fru_device.robot b/ipmi/test_ipmi_fru_device.robot
index cb1af7e..3c7bc7e 100644
--- a/ipmi/test_ipmi_fru_device.robot
+++ b/ipmi/test_ipmi_fru_device.robot
@@ -190,10 +190,11 @@
IF '${ipmi_fru_board_serial_status}' == 'True' BREAK
END
${frudata}= Get From List ${output} ${num}
- ${serial_no}= Run Keyword If '${ipmi_fru_board_serial_status}' == 'True'
- ... Get Lines Containing String ${frudata} Board Serial
- ... ELSE
- ... Get Lines Containing String ${frudata} Product Serial
+
+ ${serial_str}= Set Variable If '${ipmi_fru_board_serial_status}' == 'True'
+ ... Board Serial Product Serial
+
+ ${serial_no}= Get Lines Containing String ${frudata} ${serial_str}
# Get each device and split field as key and value and append to a dictionary.
${serial_nos}= Set Variable ${serial_no.strip()}
@@ -232,8 +233,9 @@
${dbus_output}= Execute DBUS Introspect Command ${cmd}
${dbus_fru_board_serial_status}= Run Keyword And Return Status Should Contain ${dbus_output} .BOARD_SERIAL
${dbus_fru_product_serial_status}= Run Keyword And Return Status Should Contain ${dbus_output} .PRODUCT_SERIAL
- Run Keyword If '${dbus_fru_board_serial_status}' == 'True' or '${dbus_fru_product_serial_status}' == 'True'
- ... Create Dictionary For DBUS URI ${dbus_output} ${ipmi_fru} ${dbus_fru_board_serial_status} ${cmd}
+ IF '${dbus_fru_board_serial_status}' == 'True' or '${dbus_fru_product_serial_status}' == 'True'
+ Create Dictionary For DBUS URI ${dbus_output} ${ipmi_fru} ${dbus_fru_board_serial_status} ${cmd}
+ END
END
@@ -253,16 +255,20 @@
# If matches then, sets the serial number as key and FRU uri as value.
# ${dbus_dict} defined under variable section.
FOR ${ipmi_fru_serial_no} IN @{ipmi_fru.keys()}
- ${serial_no}= Run Keyword If '${dbus_fru_board_serial_status}' == 'True'
- ... Get Lines Containing String ${dbus_output} .BOARD_SERIAL
- ... ELSE
- ... Get Lines Containing String ${dbus_output} .PRODUCT_SERIAL
+ ${serial_str}= Set Variable If '${ipmi_fru_board_serial_status}' == 'True'
+ ... Board Serial Product Serial
+
+ ${serial_no}= Get Lines Containing String ${frudata} ${serial_str}
+
${serial_no}= Split String ${serial_no} "
${dbus_serial_no}= Set Variable ${serial_no[1].strip()}
- ${serial_no_status}= Run Keyword And Return Status Should Be Equal As Strings ${ipmi_fru_serial_no} ${dbus_serial_no}
- Run Keyword If '${serial_no_status}' == 'True'
- ... Run Keywords Set To Dictionary ${dbus_dict} ${dbus_serial_no} ${fru_command} AND
- ... Exit For Loop
+ ${serial_no_status}= Run Keyword And Return Status Should Be Equal As Strings
+ ... ${ipmi_fru_serial_no} ${dbus_serial_no}
+
+ IF '${serial_no_status}' == 'True'
+ Set To Dictionary ${dbus_dict} ${dbus_serial_no} ${fru_command}
+ BREAK
+ END
END