| *** Settings *** | 
 | Documentation   This suite tests Vital Product Data (VPD) via busctl command. | 
 |  | 
 | Variables       ../../data/vpd_data.py | 
 | Resource        ../../lib/openbmc_ffdc.robot | 
 |  | 
 | Test Teardown   FFDC On Test Case Fail | 
 |  | 
 |  | 
 | *** Variables *** | 
 |  | 
 | ${CMD_INVENTORY_PREFIX}  busctl get-property xyz.openbmc_project.Inventory.Manager | 
 | ...  /xyz/openbmc_project/inventory | 
 |  | 
 |  | 
 | *** Test Cases *** | 
 |  | 
 | Verify VPD Data | 
 |     [Documentation]  Verify VPD via busctl command. | 
 |     [Tags]  Verify_VPD_Data | 
 |     [Template]  Verify VPD Via Busctl | 
 |  | 
 |     # Component name | 
 |     /system/chassis/motherboard | 
 |     /system/chassis/motherboard/base_op_panel_blyth | 
 |     /system/chassis/motherboard/ebmc_card_bmc | 
 |     /system/chassis/motherboard/lcd_op_panel_hill | 
 |     /system/chassis/motherboard/tpm_wilson | 
 |     /system/chassis/motherboard/vdd_vrm0 | 
 |     /system/chassis/motherboard/vdd_vrm1 | 
 |  | 
 |  | 
 | *** Keywords *** | 
 |  | 
 | Verify VPD Via Busctl | 
 |     [Documentation]  Verify VPD details via busctl. | 
 |     [Arguments]  ${component} | 
 |  | 
 |     # Description of argument(s): | 
 |     # component       VPD component (e.g. /system/chassis/motherboard/vdd_vrm1). | 
 |  | 
 |     # Verify Location code | 
 |     ${busctl_output}=  BMC Execute Command | 
 |     ...  ${CMD_INVENTORY_PREFIX}${component} com.ibm.ipzvpd.Location LocationCode | 
 |     Should Be Equal  ${busctl_output[0].split('"')[1].strip('"')} | 
 |     ...  ${VPD_DETAILS['${component}']['LocationCode']} | 
 |  | 
 |     # Verify PrettyName | 
 |     ${busctl_output}=  BMC Execute Command | 
 |     ...  ${CMD_INVENTORY_PREFIX}${component} xyz.openbmc_project.Inventory.Item PrettyName | 
 |     Should Be Equal  ${busctl_output[0].split('"')[1].strip('"')} | 
 |     ...  ${VPD_DETAILS['${component}']['DR']} | 
 |  | 
 |     # Verify Part Number | 
 |     ${busctl_output}=  BMC Execute Command | 
 |     ...  ${CMD_INVENTORY_PREFIX}${component} xyz.openbmc_project.Inventory.Decorator.Asset PartNumber | 
 |     Should Be Equal  ${busctl_output[0].split('"')[1].strip('"')} | 
 |     ...  ${VPD_DETAILS['${component}']['PN']} | 
 |  | 
 |     # Verify Serial Number | 
 |     ${busctl_output}=  BMC Execute Command | 
 |     ...  ${CMD_INVENTORY_PREFIX}${component} xyz.openbmc_project.Inventory.Decorator.Asset SerialNumber | 
 |     Should Be Equal  ${busctl_output[0].split('"')[1].strip('"')} | 
 |     ...  ${VPD_DETAILS['${component}']['SN']} |