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 21 22Verify Get PLDM Version For Base 23 [Documentation] Verify supported PLDM version for base type. 24 [Tags] Verify_Get_PLDM_Version_For_Base 25 26 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'base' 27 ${pldm_output}= Pldmtool ${pldm_cmd} 28 Valid Value pldm_output['type_0(base)'] ['${VERSION_BASE['STRING']}'] 29 30 31Verify Get PLDM Version For Platform 32 [Documentation] Verify supported PLDM version for platform type. 33 [Tags] Verify_Get_PLDM_Version_For_Platform 34 35 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'platform' 36 ${pldm_output}= Pldmtool ${pldm_cmd} 37 Valid Value pldm_output['type_2(platform)'] ['${VERSION_PLATFORM['STRING']}'] 38 39 40Verify Get PLDM Version For BIOS 41 [Documentation] Verify supported PLDM version for BIOS type. 42 [Tags] Verify_Get_PLDM_Version_For_BIOS 43 44 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'bios' 45 ${pldm_output}= Pldmtool ${pldm_cmd} 46 Valid Value pldm_output['type_3(bios)'] ['${VERSION_BIOS['STRING']}'] 47 48 49Verify Get PLDM Version For FRU 50 [Documentation] Verify supported PLDM version for FRU type. 51 [Tags] Verify_Get_PLDM_Version_For_FRU 52 53 ${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'fru' 54 ${pldm_output}= Pldmtool ${pldm_cmd} 55 Valid Value pldm_output['type_4(fru)'] ['${VERSION_FRU['STRING']}'] 56 57Verify GetTID 58 [Documentation] Verify GetTID (Terminus ID) response message. 59 [Tags] Verify_GetTID 60 61 # Example output: 62 # TID : 1 63 64 ${pldm_output}= Pldmtool base GetTID 65 Rprint Vars pldm_output 66 67 Valid Dict pldm_output valid_values={'tid': ['1']} 68 69Verify GetPLDMCommands 70 [Documentation] Verify GetPLDMCommands response message. 71 [Tags] Verify_GetPLDMCommands 72 [Template] Verify GetPLDMCommands For PLDM Type 73 74 # pldm_type # expected_pldm_cmds 75 76 '0' ${PLDM_BASE_CMDS} 77 '2' ${PLDM_PLATFORM_CMDS} 78 '3' ${PLDM_BIOS_CMDS} 79 '4' ${PLDM_FRU_CMDS} 80 81*** keywords *** 82 83Verify GetPLDMCommands For PLDM Type 84 [Documentation] Verify GetPLDMCommands for given input pldm type with expected pldm cmds. 85 [Arguments] ${pldm_type} ${expected_pldm_cmds} 86 87 # Description of argument(s): 88 # pldm_type pldm type (e.g. '0', '2', '3', '4'). 89 # '0' -> base, '2' -> platform, '3' -> 'bios', '4' -> 'fru'. 90 # expected_pldm_cmds expected pldm commands for given pldm type. 91 92 # Example output: 93 # Supported Commands : 2(GetTID) 3(GetPLDMVersion) 4(GetPLDMTypes) 5(GetPLDMCommands) 94 95 ${pldm_output}= Pldmtool base GetPLDMCommands -t ${pldm_type} 96 Rprint Vars pldm_output 97 Valid List pldm_output ${expected_pldm_cmds} 98