blob: e166842b9241bf9e3f2c41dff1e71b003020a86c [file] [log] [blame]
Rahul Maheshwari7258aec2017-02-02 04:46:38 -06001*** Settings ***
2
3Documentation Test LED groups in OpenBMC.
4
5Resource ../lib/rest_client.robot
Sandhya Somashekar839a0c22019-01-31 05:05:43 -06006Resource ../lib/resource.robot
Rahul Maheshwari7258aec2017-02-02 04:46:38 -06007Resource ../lib/openbmc_ffdc.robot
8
9Suite Setup Setup The Suite
10Test Teardown FFDC On Test Case Fail
11
12Force Tags LED_Group
13
14*** Variables ***
15
16
17*** Test Cases ***
18
19Verify CPU Fault LEDs Group
20 [Documentation] Verify CPU's fault LEDs.
21 [Tags] Verify_CPU_Fault_LEDs_Group
22
George Keishing15b38912017-03-30 06:54:30 -050023 Verify LED Group cpu fault
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060024
25Verify Fan Fault LEDs Group
26 [Documentation] Verify fan's fault LEDs.
27 [Tags] Verify_Fan_Fault_LEDs_Group
28
George Keishing15b38912017-03-30 06:54:30 -050029 Verify LED Group fan fault
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060030
31Verify DIMM Fault LEDs Group
32 [Documentation] Verify DIMM's fault LEDs.
33 [Tags] Verify_DIMM_Fault_LEDs_Group
34
George Keishing15b38912017-03-30 06:54:30 -050035 Verify LED Group dimm fault
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060036
37Verify GPU Fault LEDs Group
38 [Documentation] Verify GPU's fault LEDs.
39 [Tags] Verify_GPU_Fault_LEDs_Group
40
George Keishing9c459f92017-11-29 22:55:39 -060041 Verify LED Group gv100card fault
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060042
43Verify Power Supply Fault LEDs Group
44 [Documentation] Verify power supply's fault LEDs.
45 [Tags] Verify_Power_Supply_Fault_LEDs_Group
46
George Keishing15b38912017-03-30 06:54:30 -050047 Verify LED Group powersupply fault
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060048
49Verify Enclosure Fault LED Group
50 [Documentation] Validate enclosure's fault LED.
51 [Tags] Verify_Enclosure_Fault_LED_Group
52
George Keishing15b38912017-03-30 06:54:30 -050053 Verify LED Group enclosure fault
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060054
55Verify Power State LEDs Group
56 [Documentation] Verify power state LEDs.
57 [Tags] Verify_Power_State_LEDs_Group
58
George Keishing15b38912017-03-30 06:54:30 -050059 Verify LED Group power
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060060
61Verify Enclosure Identify LED Group
62 [Documentation] Validate enclosure's identify LED.
63 [Tags] Verify_Enclosure_Identify_LED_Group
64
George Keishing15b38912017-03-30 06:54:30 -050065 Verify LED Group enclosure identify
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060066
67Verify Fan Identify LEDs Group
68 [Documentation] Verify fan's identify LEDs.
69 [Tags] Verify_Fan_Identify_LEDs_Group
70
George Keishing15b38912017-03-30 06:54:30 -050071 Verify LED Group fan identify
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060072
73Verify Other Fault LEDs Group
74 [Documentation] Verify other fault LEDs.
75 [Tags] Verify_Other_Fault_LEDs_Group
76
George Keishing15b38912017-03-30 06:54:30 -050077 Verify LED Group system_fault
78 Verify LED Group boxelder_fault
79 Verify LED Group bmc_fault
80 Verify LED Group motherboard_fault
Rahul Maheshwari7258aec2017-02-02 04:46:38 -060081
Sweta Potthurie5a9fc72017-05-03 07:02:46 -050082Verify Enclosure Fault LED On Assertion
83 [Documentation] Verify enclosure fault LED on assertion.
84 [Tags] Verify_Enclosure_Fault_LED_On_Assertion
85
86 Set LED State On cpu0_fault
87 ${resp}= Get System LED State rear_fault
88 Should Be Equal ${resp} On
89
Rahul Maheshwari977bc232017-07-07 02:28:09 -050090
91Verify Rear Power LED Association With Group LED
92 [Documentation] Verify rear power LED state association with
93 ... power on group LED.
94 [Tags] Verify_Rear_Power_LED_Association_With_Group_LED
95
96 Set LED State On power_on
97 ${resp}= Get System LED State rear_power
98 Should Be Equal ${resp} On
99
100 Set LED State Off power_on
101 ${resp}= Get System LED State rear_power
Rahul Maheshwari23a9d462017-10-24 11:51:56 -0500102 Should Be Equal ${resp} Blink
Rahul Maheshwari977bc232017-07-07 02:28:09 -0500103
104
Sweta Potthurie5a9fc72017-05-03 07:02:46 -0500105***Keywords***
Rahul Maheshwari7258aec2017-02-02 04:46:38 -0600106
Rahul Maheshwari7258aec2017-02-02 04:46:38 -0600107Set LED State
108 [Documentation] Set state of given LED to on or off.
109 [Arguments] ${state} ${led_name}
110 # Description of arguments:
111 # state LED's state to set, i.e. On or Off
112 # led_name Name of LED
113
114 ${data}= Run Keyword If
115 ... '${state}' == 'On' Create Dictionary data=${True}
116 ... ELSE IF '${state}' == 'Off' Create Dictionary data=${False}
117 ... ELSE Fail msg=Invalid LED state
118
119 ${resp}= OpenBMC Put Request
120 ... ${LED_GROUPS_URI}${led_name}/attr/Asserted data=${data}
121 ${jsondata}= to JSON ${resp.content}
122 Should Be Equal As Strings ${jsondata['status']} ok
123
124Verify LED Group
125 [Documentation] Set and validate state of all LEDs with given name.
126 [Arguments] ${led_prefix} ${led_suffix}=${EMPTY}
127 # Description of arguments:
128 # led_prefix LED name's prefix
129 # led_suffix LED name's suffix
130
131 ${led_list}= Get LED List ${led_prefix} ${led_suffix}
132
133 ${list_length}= Get Length ${led_list}
134 Should Be True ${list_length} > 0
135 ... msg=No ${led_prefix} ${led_suffix} LED found
136
137 :FOR ${led} IN @{led_list}
138 \ Set LED State On ${led}
139 \ ${resp}= Get LED State XYZ ${led}
140 \ Should Be Equal ${resp} ${1}
141 \ Set LED State Off ${led}
142 \ ${resp}= Get LED State XYZ ${led}
143 \ Should Be Equal ${resp} ${0}
144
145Setup The Suite
146 [Documentation] Test setup before running this suite.
147
148 ${resp}= Read Properties ${LED_GROUPS_URI}
149 Set Suite Variable ${LED_GROUPS} ${resp}
150
151Get LED List
152 [Documentation] Returns all LEDs with given name.
153 [Arguments] ${led_prefix} ${led_suffix}=${EMPTY}
154 # Description of arguments:
155 # led_prefix LED name's prefix
156 # led_suffix LED name's suffix
157
158 ${list}= Get Matches
159 ... ${LED_GROUPS} regexp=^.*[0-9a-z_].${led_prefix}.*${led_suffix}
160 ${led_list}= Create List
161
162 : FOR ${element} IN @{list}
163 \ ${element}= Remove String ${element} ${LED_GROUPS_URI}
164 \ Append To List ${led_list} ${element}
165 Sort List ${led_list}
166
167 [Return] ${led_list}