blob: 7e07d551a3b7b6c8f8a9b636e114f63790541a26 [file] [log] [blame]
*** Settings ***
Documentation Module to test PLDM FRU (Field Replaceable Unit) commands.
Library ../lib/pldm_utils.py
Variables ../data/pldm_variables.py
Resource ../lib/openbmc_ffdc.robot
Test Setup Printn
Test Teardown FFDC On Test Case Fail
Test Tags Pldm_FRU
*** Test Cases ***
Verify GetFruRecordTableMetadata
[Documentation] Verify get fru record table meta data response message.
[Tags] Verify_GetFruRecordTableMetadata
# pldm_output:
# [frudatamajorversion]: 1
# [frudataminorversion]: 0
# [frutablemaximumsize]: 4294967295
# [frutablelength]: 60
# [total_number_of_record_set_identifiers_in_table]: 1
# [total_number_of_records_in_table]: 1
${pldm_output}= Pldmtool fru GetFruRecordTableMetadata
Rprint Vars pldm_output
Valid Value pldm_output['FRUDATAMajorVersion'] [1]
Valid Value pldm_output['FRUDATAMinorVersion'] [0]
Valid Value pldm_output['FRUTableMaximumSize'] [4294967295]
Valid Range pldm_output['FRUTableLength'] 1
Valid Range pldm_output['Total number of records in table'] 1
Valid Range pldm_output['Total number of Record Set Identifiers in table'] 1
Verify GetFruRecordTable
[Documentation] Verify GetFruRecordTable response message.
[Tags] Verify_GetFruRecordTable
${pldm_output}= Pldmtool fru GetFruRecordTable
Should Not Be Empty ${pldm_output}
#TODO: Verify the fru table content.
Verify GetFRURecordByOption
[Documentation] Verify GetFRURecordByOption response message for
... the available FRU record identifier.
[Tags] Verify_GetFRURecordByOption
# pldm_output:
# [fru_record_set_identifier]: 2
# [fru_record_type]: 1(General)
# [number_of_fru_fields]: 4
# [encoding_type_for_fru_fields]: 1(ASCII)
# [ fru_field_type]: Name
# [ fru_field_length]: 12
# [ fru_field_value]: BMC PLANAR
${pldm_output}= Pldmtool fru GetFruRecordTableMetadata
${fru_rec_id}= Convert To Integer ${pldm_output['Total number of Record Set Identifiers in table']}
FOR ${i} IN RANGE ${fru_rec_id+1}
${pldm_output}= Run Keyword Pldmtool fru GetFRURecordByOption -i ${i} -r 0 -f 0
Run Keyword Rprint Vars pldm_output
Should Not Be Empty ${pldm_output}
END