1*** Settings *** 2Documentation Getting the systems thermal records for temperature. 3 4Resource ../../lib/bmc_redfish_resource.robot 5Resource ../../lib/bmc_redfish_utils.robot 6Resource ../../lib/logging_utils.robot 7Resource ../../lib/boot_utils.robot 8Resource ../../lib/openbmc_ffdc.robot 9Library ../../lib/gen_robot_valid.py 10Library ../../lib/logging_utils.py 11 12Suite Setup Suite Setup Execution 13Suite Teardown Suite Teardown Execution 14Test Setup Printn 15Test Teardown Test Teardown Execution 16 17 18*** Test Cases *** 19 20Get Ambient Temperature Records 21 [Documentation] Get the ambient temperature records. 22 [Tags] Get_Ambient_Temperature_Records 23 [Template] Get Thermal Records and Verify 24 25 # record_type reading_type 26 Temperatures ReadingCelsius 27 28 29Reboot And Check Ambient Temperature Records Are Valid 30 [Documentation] Check the ambient temperature records are valid after a reboot. 31 [Tags] Reboot_And_Check_Ambient_Temperature_Records_Are_Valid 32 33 Redfish OBMC Reboot (run) 34 Redfish.Login 35 36 Get Thermal Records and Verify Temperatures ReadingCelsius 37 38 39*** Keywords *** 40 41Get Thermal Records and Verify 42 [Documentation] Get the thermal records for temperatures. 43 [Arguments] ${record_type} ${reading_type} 44 45 # Description of Arguments(s): 46 # record_type The thermal record type (e.g. "Temperatures") 47 # reading_type The thermal temperature readings (e.g. "ReadingCelsius") 48 49 ${records}= Verify Valid Records ${record_type} ${REDFISH_CHASSIS_THERMAL_URI} ${reading_type} 50 51 ${num_records}= Get Length ${records} 52 Rprint Vars num_records records 53 54 ${invalid_records}= Evaluate 55 ... [x for x in ${records} if not x['LowerThresholdNonCritical'] <= x['${reading_type}'] <= x['UpperThresholdNonCritical']] 56 57 ${num_invalid_records}= Get Length ${invalid_records} 58 Run Keyword If ${num_invalid_records} > ${0} 59 ... Rprint Vars num_invalid_records invalid_records 60 Valid Value num_invalid_records valid_values=[0] 61 62 Error Logs Should Not Exist 63 64 65Suite Teardown Execution 66 [Documentation] Do the post suite teardown. 67 68 Redfish.Logout 69 70 71Suite Setup Execution 72 [Documentation] Do test case setup tasks. 73 74 Printn 75 Redfish.Login 76 Redfish Purge Event Log 77 78 79Test Teardown Execution 80 [Documentation] Do the post test teardown. 81 82 FFDC On Test Case Fail 83