*** Settings *** Documentation This suite tests IPMI Payload in OpenBMC. Resource ../lib/ipmi_client.robot Resource ../lib/openbmc_ffdc.robot Variables ../data/ipmi_raw_cmd_table.py *** Test Cases *** Test Get Payload Activation Status [Documentation] Test get payload activation status. [Tags] Test_Get_Payload_Activation_Status # SOL is the payload currently supported for payload status. # Currently supports only one SOL session. # Response Data # 01 instance 1 is activated. # 00 instance 1 is deactivated. ${payload_status}= Get Payload Activation Status Should Contain Any ${payload_status} 01 00 Test Activate Payload [Documentation] Test activate payload via IPMI raw command. [Tags] Test_Activate_Payload ${payload_status}= Get Payload Activation Status Run Keyword If '${payload_status}' == '01' Deactivate Payload Activate Payload ${payload_status}= Get Payload Activation Status Should Contain ${payload_status} 01 Test Deactivate Payload [Documentation] Test deactivate payload via IPMI raw command. [Tags] Test_Deactivate_Payload ${payload_status}= Get Payload Activation Status Run Keyword If '${payload_status}' == '00' Activate Payload Deactivate Payload ${payload_status}= Get Payload Activation Status Should Contain ${payload_status} 00 Test Get Payload Instance Info [Documentation] Test Get Payload Instance via IPMI raw command. [Tags] Test_Get_Payload_Instance_Info ${payload_status}= Get Payload Activation Status Run keyword If '${payload_status}' == '01' ... Deactivate Payload # First four bytes should be 00 if given instance is not activated. ${resp}= Run IPMI Command ... ${IPMI_RAW_CMD['Payload']['Get_Payload_Instance_Info'][0]} Should Contain ${resp} ${IPMI_RAW_CMD['Payload']['Get_Payload_Instance_Info'][1]} Activate Payload # First four bytes should be session ID when payload is activated. ${resp}= Run IPMI Command ... ${IPMI_RAW_CMD['Payload']['Get_Payload_Instance_Info'][0]} Should Not Contain ${resp} ${IPMI_RAW_CMD['Payload']['Get_Payload_Instance_Info'][1]} *** Keywords *** Get Payload Activation Status [Documentation] Get payload activation status. ${resp}= Run IPMI Command ... ${IPMI_RAW_CMD['Payload']['Get_Payload_Activation_Status'][0]} @{resp}= Split String ${resp} ${payload_status}= Set Variable ${resp[1]} [return] ${payload_status} Activate Payload [Documentation] Activate Payload. ${resp}= Run IPMI Command ... ${IPMI_RAW_CMD['Payload']['Activate_Payload'][0]} Should Contain ${resp} ${IPMI_RAW_CMD['Payload']['Activate_Payload'][1]} Deactivate Payload [Documentation] Deactivate Payload. ${resp}= Run IPMI Command ... ${IPMI_RAW_CMD['Payload']['Deactivate_Payload'][0]} Should Be Empty ${resp}