blob: 3c60f52481eefc1a01dad78909b25c64986f6410 [file] [log] [blame]
Ashwini Chandrappa030ee002021-09-06 06:53:18 -05001*** Settings ***
2Documentation 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
8Resource ../lib/boot_utils.robot
9Resource ../lib/openbmc_ffdc.robot
10Resource ../lib/bmc_redfish_resource.robot
11
12
13Suite Setup Redfish.Login
14Suite Teardown Redfish.Logout
15Test Setup Test Setup Execution
16Test 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
32Set 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
43Test Setup Execution
44 [Documentation] Do test case setup tasks.
45
46 Open Connection And Login
47 Redfish Power Off
48
49
50Test Teardown Execution
51 [Documentation] Do the test teardown
52
53 FFDC On Test Case Fail
54 Close All Connections
55
56
57Set 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
67Get 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}