Ashwini Chandrappa | 030ee00 | 2021-09-06 06:53:18 -0500 | [diff] [blame] | 1 | *** Settings *** |
| 2 | Documentation This suite tests Timed Power On(TPO) feature via busctl command |
| 3 | ... and verify the power status of the system. |
| 4 | ... |
| 5 | ... System can be scheduled to Power ON at a specified time by using this feature. |
| 6 | |
| 7 | |
| 8 | Resource ../lib/boot_utils.robot |
| 9 | Resource ../lib/openbmc_ffdc.robot |
| 10 | Resource ../lib/bmc_redfish_resource.robot |
| 11 | |
| 12 | |
| 13 | Suite Setup Redfish.Login |
| 14 | Suite Teardown Redfish.Logout |
| 15 | Test Setup Test Setup Execution |
| 16 | Test Teardown Test Teardown Execution |
| 17 | |
| 18 | |
| 19 | *** Variables **** |
| 20 | |
| 21 | ${CMD_SET_TPO_TIME} busctl set-property xyz.openbmc_project.State.ScheduledHostTransition |
| 22 | ... /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.ScheduledHostTransition ScheduledTime t |
| 23 | |
| 24 | ${CMD_GET_TPO_TIME} busctl get-property xyz.openbmc_project.State.ScheduledHostTransition |
| 25 | ... /xyz/openbmc_project/state/host0 xyz.openbmc_project.State.ScheduledHostTransition ScheduledTime |
| 26 | |
| 27 | ${TIMER_POWER_ON} 100 |
| 28 | |
| 29 | |
| 30 | *** Test Cases *** |
| 31 | |
| 32 | Set And Return Timer For Power ON |
| 33 | [Documentation] Set time for power ON using busctl command and verify. |
| 34 | [Tags] Set_Time_For_Power_ON |
| 35 | |
| 36 | ${tpo_set_value}= Set Timer For Power ON |
| 37 | ${new_tpo_value}= Get Time Power ON Value |
| 38 | Should Be Equal ${new_tpo_value} ${tpo_set_value} |
| 39 | |
| 40 | |
| 41 | *** Keywords *** |
| 42 | |
| 43 | Test Setup Execution |
| 44 | [Documentation] Do test case setup tasks. |
| 45 | |
| 46 | Open Connection And Login |
| 47 | Redfish Power Off |
| 48 | |
| 49 | |
| 50 | Test Teardown Execution |
| 51 | [Documentation] Do the test teardown |
| 52 | |
| 53 | FFDC On Test Case Fail |
| 54 | Close All Connections |
| 55 | |
| 56 | |
| 57 | Set Timer For Power ON |
| 58 | [Documentation] Set the time for power ON with given value. |
| 59 | |
| 60 | ${current_bmc_time}= BMC Execute Command date +%s |
| 61 | ${time_set}= Evaluate ${current_bmc_time[0]} + ${TIMER_POWER_ON} |
| 62 | BMC Execute Command ${CMD_SET_TPO_TIME} ${time_set} |
| 63 | |
| 64 | [Return] ${time_set} |
| 65 | |
| 66 | |
| 67 | Get Time Power ON Value |
| 68 | [Documentation] Returns time power ON value. |
| 69 | |
| 70 | ${timer_value}= BMC Execute Command ${CMD_GET_TPO_TIME} |
| 71 | @{return_value}= Split String ${timer_value[0]} |
| 72 | ${return_value}= Evaluate ${return_value}[1] |
| 73 | |
| 74 | # BMC command returns integer value. |
| 75 | [Return] ${return_value} |