1*** Settings *** 2 3Documentation Module to test PLDM FRU (Field Replaceable Unit) commands. 4 5Library ../lib/pldm_utils.py 6Variables ../data/pldm_variables.py 7Resource ../lib/openbmc_ffdc.robot 8 9Test Setup Printn 10Test Teardown FFDC On Test Case Fail 11 12*** Test Cases *** 13 14Verify GetFruRecordTableMetadata 15 [Documentation] Verify get fru record table meta data response message. 16 [Tags] Verify_GetFruRecordTableMetadata 17 18 # pldm_output: 19 # [frudatamajorversion]: 1 20 # [frudataminorversion]: 0 21 # [frutablemaximumsize]: 4294967295 22 # [frutablelength]: 60 23 # [total_number_of_record_set_identifiers_in_table]: 1 24 # [total_number_of_records_in_table]: 1 25 26 ${pldm_output}= Pldmtool fru GetFruRecordTableMetadata 27 Rprint Vars pldm_output 28 29 Valid Value pldm_output['FRUDATAMajorVersion'] [1] 30 Valid Value pldm_output['FRUDATAMinorVersion'] [0] 31 Valid Value pldm_output['FRUTableMaximumSize'] [4294967295] 32 Valid Range pldm_output['FRUTableLength'] 1 33 Valid Range pldm_output['Total number of records in table'] 1 34 Valid Range pldm_output['Total number of Record Set Identifiers in table'] 1 35 36Verify GetFruRecordTable 37 [Documentation] Verify GetFruRecordTable response message. 38 [Tags] Verify_GetFruRecordTable 39 40 ${pldm_output}= Pldmtool fru GetFruRecordTable 41 Should Not Be Empty ${pldm_output} 42 #TODO: Verify the fru table content. 43 44Verify GetFRURecordByOption 45 [Documentation] Verify GetFRURecordByOption response message for 46 ... the available FRU record identifier. 47 [Tags] Verify_GetFRURecordByOption 48 49 # pldm_output: 50 # [fru_record_set_identifier]: 2 51 # [fru_record_type]: 1(General) 52 # [number_of_fru_fields]: 4 53 # [encoding_type_for_fru_fields]: 1(ASCII) 54 # [ fru_field_type]: Name 55 # [ fru_field_length]: 12 56 # [ fru_field_value]: BMC PLANAR 57 58 ${pldm_output}= Pldmtool fru GetFruRecordTableMetadata 59 ${fru_rec_id}= Convert To Integer ${pldm_output['Total number of Record Set Identifiers in table']} 60 FOR ${i} IN RANGE ${fru_rec_id+1} 61 ${pldm_output}= Run Keyword Pldmtool fru GetFRURecordByOption -i ${i} -r 0 -f 0 62 Run Keyword Rprint Vars pldm_output 63 Should Not Be Empty ${pldm_output} 64 END 65