blob: ace9db5e821038bbf6b8868c7baa863842daef22 [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 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