Fix pldmtool output to support json format
Change-Id: I92a6af0ca1ee5edf77fda1439435bf3956881b0d
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com>
diff --git a/pldm/test_pldm_base.robot b/pldm/test_pldm_base.robot
index 0b6bbeb..a23b5b8 100644
--- a/pldm/test_pldm_base.robot
+++ b/pldm/test_pldm_base.robot
@@ -8,15 +8,19 @@
Test Setup Printn
Test Teardown FFDC On Test Case Fail
-
*** Test Cases ***
-
Verify Get PLDM Types
[Documentation] Verify supported PLDM types.
[Tags] Verify_Get_PLDM_Types
${pldm_output}= Pldmtool base GetPLDMTypes
- Valid List pldm_output['supported_types']['text'] required_values=${PLDM_SUPPORTED_TYPES}
+ ${count}= Get Length ${pldm_output}
+ ${cmd_list}= Create List
+ FOR ${i} IN RANGE ${count}
+ ${cmd}= Catenate ${pldm_output}[${i}][PLDM Type Code](${pldm_output}[${i}][PLDM Type])
+ Append To List ${cmd_list} ${cmd}
+ END
+ Valid List cmd_list required_values=${PLDM_SUPPORTED_TYPES}
Verify Get PLDM Version For Base
[Documentation] Verify supported PLDM version for base type.
@@ -24,8 +28,7 @@
${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'base'
${pldm_output}= Pldmtool ${pldm_cmd}
- Valid Value pldm_output['type_0(base)'] ['${VERSION_BASE['STRING']}']
-
+ Valid Value pldm_output['Response'] ['${VERSION_BASE['STRING']}']
Verify Get PLDM Version For Platform
[Documentation] Verify supported PLDM version for platform type.
@@ -33,7 +36,7 @@
${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'platform'
${pldm_output}= Pldmtool ${pldm_cmd}
- Valid Value pldm_output['type_2(platform)'] ['${VERSION_PLATFORM['STRING']}']
+ Valid Value pldm_output['Response'] ['${VERSION_PLATFORM['STRING']}']
Verify Get PLDM Version For BIOS
@@ -42,7 +45,7 @@
${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'bios'
${pldm_output}= Pldmtool ${pldm_cmd}
- Valid Value pldm_output['type_3(bios)'] ['${VERSION_BIOS['STRING']}']
+ Valid Value pldm_output['Response'] ['${VERSION_BIOS['STRING']}']
Verify Get PLDM Version For FRU
@@ -51,7 +54,7 @@
${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'fru'
${pldm_output}= Pldmtool ${pldm_cmd}
- Valid Value pldm_output['type_4(fru)'] ['${VERSION_FRU['STRING']}']
+ Valid Value pldm_output['Response'] ['${VERSION_FRU['STRING']}']
Verify Get PLDM Version For OEM
@@ -60,7 +63,7 @@
${pldm_cmd}= Evaluate $CMD_GETPLDMVERSION % 'oem-ibm'
${pldm_output}= Pldmtool ${pldm_cmd}
- Valid Value pldm_output['type_63(oem-ibm)'] ['${VERSION_OEM['STRING']}']
+ Valid Value pldm_output['Response'] ['${VERSION_OEM['STRING']}']
Verify GetTID
@@ -68,12 +71,12 @@
[Tags] Verify_GetTID
# Example output:
- # TID : 1
+ # {
+ # 'Response' : 1
+ # }
${pldm_output}= Pldmtool base GetTID
- Rprint Vars pldm_output
-
- Valid Dict pldm_output valid_values={'tid': ['1']}
+ Valid Value pldm_output['Response'] [1]
Verify GetPLDMCommands
[Documentation] Verify GetPLDMCommands response message.
@@ -104,5 +107,10 @@
# Supported Commands : 2(GetTID) 3(GetPLDMVersion) 4(GetPLDMTypes) 5(GetPLDMCommands)
${pldm_output}= Pldmtool base GetPLDMCommands -t ${pldm_type}
- Rprint Vars pldm_output
- Valid List pldm_output ${expected_pldm_cmds}
+ ${count}= Get Length ${pldm_output}
+ ${cmd_list}= Create List
+ FOR ${i} IN RANGE ${count}
+ ${cmd}= Catenate ${pldm_output}[${i}][PLDM Command Code](${pldm_output}[${i}][PLDM Command])
+ Append To List ${cmd_list} ${cmd}
+ END
+ Valid List cmd_list required_values=${expected_pldm_cmds}
diff --git a/pldm/test_pldm_bios.robot b/pldm/test_pldm_bios.robot
index 1e3533d..adf6c84 100644
--- a/pldm/test_pldm_bios.robot
+++ b/pldm/test_pldm_bios.robot
@@ -19,26 +19,37 @@
[Tags] Verify_GetDateTime
# Example output:
- # YYYY-MM-DD HH:MM:SS - 09-02-2020 16:51:23
+ # {
+ # "Response": "2020-11-07 07:10:10"
+ # }
${pldm_output}= Pldmtool bios GetDateTime
- @{date_time}= Split String ${pldm_output} ${SPACE}
+ @{date_time}= Split String ${pldm_output['Response']} ${SPACE}
@{time}= Split String ${date_time}[1] :
# verify date & time.
- ${current_date_time}= Get Current Date UTC exclude_millis=True
- Should Contain ${current_date_time} ${date_time[0]}
- Should Contain ${current_date_time} ${time[0]}
+ ${utc}= Get Current Date UTC exclude_millis=True
+ @{current_dmy}= Split String ${utc} ${SPACE}
+ @{current_time}= Split String ${current_dmy[1]} :
+ # Example output:
+ # 2020-11-25 07:34:30
+
+ Should Contain ${current_dmy[0]} ${date_time[0]}
+ Should Contain ${current_time[0]} ${time[0]}
Verify SetDateTime
[Documentation] Verify set date & time for the host.
[Tags] Verify_SetDateTime
# Example output:
- # SetDateTime: SUCCESS
+ # {
+ # "Response": "SUCCESS"
+ # }
${current_date_time}= Get Current Date UTC exclude_millis=True
+ # Example output:
+ # 2020-11-25 07:34:30
${date}= Add Time To Date ${current_date_time} 400 days exclude_millis=True
${upgrade_date}= Evaluate re.sub(r'-* *:*', "", '${date}') modules=re
@@ -49,13 +60,11 @@
# Set date.
${cmd_set_date}= Evaluate $CMD_SETDATETIME % '${upgrade_date}'
${pldm_output}= Pldmtool ${cmd_set_date}
- Valid Value pldm_output['setdatetime'] ['SUCCESS']
+ Valid Value pldm_output['Response'] ['SUCCESS']
# Set time.
${cmd_set_time}= Evaluate $CMD_SETDATETIME % '${upgrade_time}'
${pldm_output}= Pldmtool ${cmd_set_time}
- Valid Value pldm_output['setdatetime'] ['SUCCESS']
-
Verify GetBIOSTable For StringTable
[Documentation] Verify GetBIOSTable for table type string table.
@@ -78,7 +87,13 @@
# [12]: vmi-if-count
${pldm_output}= Pldmtool bios GetBIOSTable --type StringTable
- Valid List pldm_output required_values=${RESPONSE_LIST_GETBIOSTABLE_STRTABLE}
+ @{keys}= Get Dictionary Keys ${pldm_output}
+ ${string_list}= Create List
+ FOR ${key} IN @{keys}
+ Append To List ${string_list} ${pldm_output['${key}']}
+ END
+ Log To Console ${string_list}
+ Valid List string_list required_values=${RESPONSE_LIST_GETBIOSTABLE_STRTABLE}
Verify GetBIOSTable For AttributeTable
@@ -97,9 +112,14 @@
# [ defaultstringlength]: 15
${pldm_output}= Pldmtool bios GetBIOSTable --type AttributeTable
- Rprint Vars pldm_output
- Valid Value pldm_output['pldm_attributetable'] [True]
-
+ ${count}= Get Length ${pldm_output}
+ ${attr_list}= Create List
+ FOR ${i} IN RANGE ${count}
+ ${data}= Set Variable ${pldm_output}[${i}][AttributeNameHandle]
+ ${sub_string}= Get Substring ${data} 3 -1
+ Append To List ${attr_list} ${sub_string}
+ END
+ Valid List attr_list required_values=${RESPONSE_LIST_GETBIOSTABLE_ATTRTABLE}
Verify GetBIOSTable For AttributeValueTable
[Documentation] Verify if attribute value table content exist for
@@ -113,9 +133,12 @@
# [ currentstringlength]: 15
${pldm_output}= Pldmtool bios GetBIOSTable --type AttributeValueTable
- Log To Console ${pldm_output}
- Rprint Vars pldm_output
- Valid Value pldm_output['pldm_attributevaluetable'] [True]
+ ${count}= Get Length ${pldm_output}
+ ${attr_val_list}= Create List
+ FOR ${i} IN RANGE ${count}
+ Append To List ${attr_val_list} ${pldm_output}[${i}][AttributeType]
+ END
+ Valid List attr_val_list required_values=${RESPONSE_LIST_GETBIOSTABLE_ATTRVALTABLE}
*** Keywords ***
@@ -126,4 +149,4 @@
${current_date_time}= Evaluate re.sub(r'-* *:*', "", '${result}') modules=re
${cmd_set_date_time}= Evaluate $CMD_SETDATETIME % '${current_date_time}'
${pldm_output}= Pldmtool ${cmd_set_date_time}
- Valid Value pldm_output['setdatetime'] ['SUCCESS']
+ Valid Value pldm_output['Response'] ['SUCCESS']
diff --git a/pldm/test_pldm_fru.robot b/pldm/test_pldm_fru.robot
index ace9db5..0e6d7c6 100644
--- a/pldm/test_pldm_fru.robot
+++ b/pldm/test_pldm_fru.robot
@@ -26,12 +26,12 @@
${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
+ 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.
@@ -56,7 +56,7 @@
# [ 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']}
+ ${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
diff --git a/pldm/test_pldm_oem.robot b/pldm/test_pldm_oem.robot
index 005ed3d..112f8a5 100644
--- a/pldm/test_pldm_oem.robot
+++ b/pldm/test_pldm_oem.robot
@@ -18,6 +18,6 @@
${pldm_output}= Pldmtool oem-ibm GetAlertStatus -i 0
Rprint Vars pldm_output
- Valid Value pldm_output['rack_entry'] ['0xff000030']
- Valid Value pldm_output['pri_cec_node'] ['0x00008030']
+ Valid Value pldm_output['rack entry'] ['0xff000030']
+ Valid Value pldm_output['pri cec node'] ['0x00008030']
diff --git a/pldm/test_pldm_platform.robot b/pldm/test_pldm_platform.robot
index d549bbd..f9e3a99 100644
--- a/pldm/test_pldm_platform.robot
+++ b/pldm/test_pldm_platform.robot
@@ -26,7 +26,6 @@
${record_handle}= Set Variable ${next_record_handle}
END
-
Verify SetStateEffecterStates
[Documentation] Verify set state effecter states response message.
[Tags] Verify_SetStateEffecterStates
@@ -76,33 +75,31 @@
${pldm_output}= Pldmtool ${pldm_cmd}
Rprint Vars pldm_output
- # Note: Output of GetPDR type 'PLDM_NUMERIC_EFFECTER_PDR' has dynamic content
- # hence just checking pdrtype only
- # GetPDR type 'PLDM_STATE_SENSOR_PDR' Dev implementation is still in progress
- # TODO: Verify output of GetPDR type 'PLDM_STATE_SENSOR_PDR'
+ Run Keyword If '${pldm_output['PDRType']}' == '${PLDM_PDR_TYPES['PLDM_STATE_EFFECTER_PDR']}'
+ ... Valid Dict pldm_output valid_values=${RESPONSE_DICT_GETPDR_SETSTATEEFFECTER}
- Run Keyword If '${pldm_output['pdrtype']}' == '${PLDM_PDR_TYPES['PLDM_STATE_EFFECTER_PDR']}'
- ... Log To Console "Found PDR Type - PLDM_STATE_EFFECTER_PDR"
-
- ... ELSE IF '${pldm_output['pdrtype']}' == '${PLDM_PDR_TYPES['PLDM_PDR_FRU_RECORD_SET']}'
+ ... ELSE IF '${pldm_output['PDRType']}' == '${PLDM_PDR_TYPES['PLDM_PDR_FRU_RECORD_SET']}'
... Valid Dict pldm_output valid_values=${RESPONSE_DICT_GETPDR_FRURECORDSETIDENTIFIER}
- ... ELSE IF '${pldm_output['pdrtype']}' == '${PLDM_PDR_TYPES['PLDM_PDR_ENTITY_ASSOCIATION']}'
- ... Valid Dict pldm_output valid_values=${RESPONSE_DICT_GETPDR_PDRENTITYASSOCIATION}
+ ... ELSE IF '${pldm_output['PDRType']}' == '${PLDM_PDR_TYPES['PLDM_PDR_ENTITY_ASSOCIATION']}'
+ ... Log To Console "Found PDR Type - PLDM_ENTITY_ASSOCIATION_PDR"
- ... ELSE IF '${pldm_output['pdrtype']}' == '${PLDM_PDR_TYPES['PLDM_STATE_SENSOR_PDR']}'
+ ... ELSE IF '${pldm_output['PDRType']}' == '${PLDM_PDR_TYPES['PLDM_STATE_SENSOR_PDR']}'
... Valid Dict pldm_output valid_values=${RESPONSE_DICT_GETPDR_STATESENSORPDR}
- ... ELSE IF '${pldm_output['pdrtype']}' == '${PLDM_PDR_TYPES['PLDM_NUMERIC_EFFECTER_PDR']}'
- ... Log To Console "Found PDR Type - PLDM_NUMERIC_EFFECTER_PDR"
+ ... ELSE IF '${pldm_output['PDRType']}' == '${PLDM_PDR_TYPES['PLDM_NUMERIC_EFFECTER_PDR']}'
+ ... Valid Dict pldm_output valid_values=${RESPONSE_DICT_GETPDR_NUMERICEFFECTERPDR}
- ... ELSE IF '${pldm_output['pdrtype']}' == '${PLDM_PDR_TYPES['PLDM_TERMINUS_LOCATOR_PDR']}'
- ... Log To Console "Found PDR Type - PLDM_TERMINUS_LOCATOR_PDR"
+ ... ELSE IF '${pldm_output['PDRType']}' == '${PLDM_PDR_TYPES['PLDM_TERMINUS_LOCATOR_PDR']}'
+ ... Valid Dict pldm_output valid_values=${RESPONSE_DICT_GETPDR_TERMINUSLOCATORPDR}
+
+ ... ELSE IF '${pldm_output['PDRType']}' == '${PLDM_PDR_TYPES['PLDM_COMPACT_NUMERIC_SENSOR_PDR']}'
+ ... Log To Console "Found PDR Type - PLDM_COMPACT_NUMERIC_SENSOR_PDR'
... ELSE Fail msg="Unknown PDR Type is received"
- Should be equal as strings ${pldm_output['recordhandle']} ${record_handle}
- [Return] ${pldm_output['nextrecordhandle']}
+ Should be equal as strings ${pldm_output['recordHandle']} ${record_handle}
+ [Return] ${pldm_output['nextRecordHandle']}
Verify SetStateEffecterStates For Effecter States
[Documentation] Verify set state effecter states for given input effecter states.
@@ -117,12 +114,14 @@
# e.g. '1 1'.
# Example output:
- # [SetStateEffecterStates ]: SUCCESS
+ # {
+ # "Response": "SUCCESS"
+ # }
${pldm_cmd}= Evaluate $CMD_SETSTATEEFFECTERSTATES % (${effecter_handle}, ${count}, ${effecter_states})
${pldm_output}= Pldmtool ${pldm_cmd}
Rprint Vars pldm_output
- Valid Value pldm_output['setstateeffecterstates'] ['SUCCESS']
+ Valid Value pldm_output['Response'] ['SUCCESS']
Pldmtool Platform Suite Cleanup
[Documentation] Reset BMC at suite cleanup.