1*** Settings *** 2 3Documentation Module to test PLDM base commands. 4Library ../lib/pldm_utils.py 5Variables ../data/pldm_variables.py 6Resource ../lib/openbmc_ffdc.robot 7 8Test Setup Printn 9Test Teardown FFDC On Test Case Fail 10 11 12*** Test Cases *** 13 14Verify Get PLDM Types 15 [Documentation] Verify supported PLDM types. 16 [Tags] Verify_Get_PLDM_Types 17 18 ${pldm_output}= Pldmtool base GetPLDMTypes 19 Valid List pldm_output['supported_types']['text'] required_values=${PLDM_SUPPORTED_TYPES} 20 21Verify Get PLDM Version For Base 22 [Documentation] Verify supported PLDM version for base type. 23 [Tags] Verify_Get_PLDM_Version_For_Base 24 25 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'base' 26 ${pldm_output}= Pldmtool ${pldm_cmd} 27 Valid Value pldm_output['type_0(base)'] ['${VERSION_BASE['STRING']}'] 28 29 30Verify Get PLDM Version For Platform 31 [Documentation] Verify supported PLDM version for platform type. 32 [Tags] Verify_Get_PLDM_Version_For_Platform 33 34 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'platform' 35 ${pldm_output}= Pldmtool ${pldm_cmd} 36 Valid Value pldm_output['type_2(platform)'] ['${VERSION_PLATFORM['STRING']}'] 37 38 39Verify Get PLDM Version For BIOS 40 [Documentation] Verify supported PLDM version for BIOS type. 41 [Tags] Verify_Get_PLDM_Version_For_BIOS 42 43 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'bios' 44 ${pldm_output}= Pldmtool ${pldm_cmd} 45 Valid Value pldm_output['type_3(bios)'] ['${VERSION_BIOS['STRING']}'] 46 47 48Verify Get PLDM Version For FRU 49 [Documentation] Verify supported PLDM version for FRU type. 50 [Tags] Verify_Get_PLDM_Version_For_FRU 51 52 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'fru' 53 ${pldm_output}= Pldmtool ${pldm_cmd} 54 Valid Value pldm_output['type_4(fru)'] ['${VERSION_FRU['STRING']}'] 55 56 57Verify Get PLDM Version For OEM 58 [Documentation] Verify supported PLDM version for oem-ibm type. 59 [Tags] Verify_Get_PLDM_Version_For_OEM 60 61 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'oem-ibm' 62 ${pldm_output}= Pldmtool ${pldm_cmd} 63 Valid Value pldm_output['type_63(oem-ibm)'] ['${VERSION_OEM['STRING']}'] 64 65 66Verify GetTID 67 [Documentation] Verify GetTID (Terminus ID) response message. 68 [Tags] Verify_GetTID 69 70 # Example output: 71 # TID : 1 72 73 ${pldm_output}= Pldmtool base GetTID 74 Rprint Vars pldm_output 75 76 Valid Dict pldm_output valid_values={'tid': ['1']} 77 78Verify GetPLDMCommands 79 [Documentation] Verify GetPLDMCommands response message. 80 [Tags] Verify_GetPLDMCommands 81 [Template] Verify GetPLDMCommands For PLDM Type 82 83 # pldm_type # expected_pldm_cmds 84 85 '0' ${PLDM_BASE_CMDS} 86 '2' ${PLDM_PLATFORM_CMDS} 87 '3' ${PLDM_BIOS_CMDS} 88 '4' ${PLDM_FRU_CMDS} 89 '63' ${PLDM_OEM_CMDS} 90 91*** keywords *** 92 93Verify GetPLDMCommands For PLDM Type 94 [Documentation] Verify GetPLDMCommands for given input pldm type with expected pldm cmds. 95 [Arguments] ${pldm_type} ${expected_pldm_cmds} 96 97 # Description of argument(s): 98 # pldm_type pldm type (e.g. '0', '2', '3', '4', '63'). 99 # '0' -> base, '2' -> platform, '3' -> 'bios', '4' -> 'fru' 100 # '63' -> oem-ibm. 101 # expected_pldm_cmds expected pldm commands for given pldm type. 102 103 # Example output: 104 # Supported Commands : 2(GetTID) 3(GetPLDMVersion) 4(GetPLDMTypes) 5(GetPLDMCommands) 105 106 ${pldm_output}= Pldmtool base GetPLDMCommands -t ${pldm_type} 107 Rprint Vars pldm_output 108 Valid List pldm_output ${expected_pldm_cmds} 109