blob: 0b6bbeb63cc066236c28c38ba88fb1014e2d367a [file] [log] [blame]
Rahul Maheshwari4d488572019-12-10 23:53:05 -06001*** 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 ***
Sridevi Ramesh039bc762020-03-30 09:59:07 -050013
Rahul Maheshwari4d488572019-12-10 23:53:05 -060014Verify 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
Rahul Maheshwari4d488572019-12-10 23:53:05 -060021Verify 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}
Michael Walsh06de1f72020-02-17 14:28:24 -060027 Valid Value pldm_output['type_0(base)'] ['${VERSION_BASE['STRING']}']
Rahul Maheshwari4d488572019-12-10 23:53:05 -060028
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}
Michael Walsh06de1f72020-02-17 14:28:24 -060036 Valid Value pldm_output['type_2(platform)'] ['${VERSION_PLATFORM['STRING']}']
Rahul Maheshwari4d488572019-12-10 23:53:05 -060037
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}
Michael Walsh06de1f72020-02-17 14:28:24 -060045 Valid Value pldm_output['type_3(bios)'] ['${VERSION_BIOS['STRING']}']
Rahul Maheshwari4d488572019-12-10 23:53:05 -060046
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}
Michael Walsh06de1f72020-02-17 14:28:24 -060054 Valid Value pldm_output['type_4(fru)'] ['${VERSION_FRU['STRING']}']
Sridevi Rameshfe52e402020-02-05 00:15:24 -060055
Sridevi Ramesh92041a32020-04-22 02:29:31 -050056
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
Sridevi Rameshfe52e402020-02-05 00:15:24 -060066Verify 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']}
Sridevi Ramesh039bc762020-03-30 09:59:07 -050077
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}
Sridevi Ramesh92041a32020-04-22 02:29:31 -050089 '63' ${PLDM_OEM_CMDS}
Sridevi Ramesh039bc762020-03-30 09:59:07 -050090
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):
Sridevi Ramesh92041a32020-04-22 02:29:31 -050098 # pldm_type pldm type (e.g. '0', '2', '3', '4', '63').
99 # '0' -> base, '2' -> platform, '3' -> 'bios', '4' -> 'fru'
100 # '63' -> oem-ibm.
Sridevi Ramesh039bc762020-03-30 09:59:07 -0500101 # 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}