1*** Settings *** 2Documentation Get the system power supply voltage readings. 3 4Resource ../../lib/bmc_redfish_resource.robot 5Resource ../../lib/bmc_redfish_utils.robot 6Resource ../../lib/openbmc_ffdc.robot 7Library ../../lib/gen_robot_valid.py 8 9Suite Setup Suite Setup Execution 10Suite Teardown Suite Teardown Execution 11Test Setup Printn 12Test Teardown Test Teardown Execution 13 14 15*** Test Cases *** 16 17Verify Power Supplies Input Watts 18 [Documentation] Verify there are no invalid power supply input watt records. 19 [Tags] Verify_Power_Supplies_Input_Watts 20 [Template] Verify Watts Record 21 22 # record_type redfish_uri reading_type 23 PowerSupplies ${REDFISH_CHASSIS_POWER_URI} PowerInputWatts 24 25 26Verify Power Supplies Input Output Voltages 27 [Documentation] Verify there are no invalid power supply voltage records. 28 [Tags] Verify_Power_Supplies_Input_Output_Voltages 29 [Template] Verify Voltage Records 30 31 # record_type redfish_uri reading_type 32 Voltages ${REDFISH_CHASSIS_POWER_URI} ReadingVolts 33 34 35Verify Power Supplies Efficiency Percentage 36 [Documentation] Verify the efficiency percentage is set to correct value. 37 [Tags] Verify_Power_Supplies_Efficiency_Percentage 38 39 # Example output: 40 # records: 41 # [0]: 42 # [@odata.id]: /redfish/v1/Chassis/chassis/Power#/PowerSupplies/0 43 # [EfficiencyPercent]: 90 44 # [IndicatorLED]: Off 45 # [Manufacturer]: 46 # [MemberId]: powersupply0 47 # [Model]: 2B1D 48 # [Name]: powersupply0 49 # [PartNumber]: 01KL779 50 # [PowerInputWatts]: 106.0 51 # [SerialNumber]: 75B1C2 52 # [Status]: 53 # [Health]: OK 54 # [State]: Enabled 55 56 ${records}= Verify Valid Records PowerSupplies ${REDFISH_CHASSIS_POWER_URI} EfficiencyPercent 57 ${efficiency_percentages}= Nested Get EfficiencyPercent ${records} 58 Valid List efficiency_percentages [90] 59 60 61*** Keywords *** 62 63Verify Watts Record 64 [Documentation] Verify the power watt records. 65 [Arguments] ${record_type} ${redfish_uri} ${reading_type} 66 67 # Description of Arguments(s): 68 # record_type The sensor record type (e.g. "PowerSupplies") 69 # redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power) 70 # reading_type The power watt readings (e.g. "PowerInputWatts") 71 72 Verify Valid Records ${record_type} ${redfish_uri} ${reading_type} 73 74 75Verify Voltage Records 76 [Documentation] Verify the power voltage records. 77 [Arguments] ${record_type} ${redfish_uri} ${reading_type} 78 79 # Description of Arguments(s): 80 # record_type The sensor record type (e.g. "Voltages") 81 # redfish_uri The power supply URI (e.g. /redfish/v1/Chassis/chassis/Power) 82 # reading_type The power voltage readings (e.g. "ReadingVolts") 83 84 Verify Valid Records ${record_type} ${redfish_uri} ${reading_type} 85 86 ${records}= Redfish.Get Attribute ${redfish_uri} ${record_type} 87 88 ${invalid_records}= Evaluate 89 ... [x for x in ${records} if not x['LowerThresholdNonCritical'] <= x['${reading_type}'] <= x['UpperThresholdNonCritical']] 90 91 Valid Length invalid_records max_length=0 92 93 94Suite Teardown Execution 95 [Documentation] Do the post suite teardown. 96 97 Redfish.Logout 98 99 100Suite Setup Execution 101 [Documentation] Do test case setup tasks. 102 103 Printn 104 Redfish Power On stack_mode=skip 105 Redfish.Login 106 107 108Test Teardown Execution 109 [Documentation] Do the post test teardown. 110 111 FFDC On Test Case Fail 112