| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 1 | *** Settings *** | 
|  | 2 |  | 
|  | 3 | Documentation  Test LED groups in OpenBMC. | 
|  | 4 |  | 
|  | 5 | Resource       ../lib/rest_client.robot | 
|  | 6 | Resource       ../lib/resource.txt | 
|  | 7 | Resource       ../lib/openbmc_ffdc.robot | 
|  | 8 |  | 
|  | 9 | Suite Setup    Setup The Suite | 
|  | 10 | Test Teardown  FFDC On Test Case Fail | 
|  | 11 |  | 
|  | 12 | Force Tags  LED_Group | 
|  | 13 |  | 
|  | 14 | *** Variables *** | 
|  | 15 |  | 
|  | 16 |  | 
|  | 17 | *** Test Cases *** | 
|  | 18 |  | 
|  | 19 | Verify CPU Fault LEDs Group | 
|  | 20 | [Documentation]  Verify CPU's fault LEDs. | 
|  | 21 | [Tags]  Verify_CPU_Fault_LEDs_Group | 
|  | 22 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 23 | Verify LED Group  cpu  fault | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 24 |  | 
|  | 25 | Verify Fan Fault LEDs Group | 
|  | 26 | [Documentation]  Verify fan's fault LEDs. | 
|  | 27 | [Tags]  Verify_Fan_Fault_LEDs_Group | 
|  | 28 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 29 | Verify LED Group  fan  fault | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 30 |  | 
|  | 31 | Verify DIMM Fault LEDs Group | 
|  | 32 | [Documentation]  Verify DIMM's fault LEDs. | 
|  | 33 | [Tags]  Verify_DIMM_Fault_LEDs_Group | 
|  | 34 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 35 | Verify LED Group  dimm  fault | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 36 |  | 
|  | 37 | Verify GPU Fault LEDs Group | 
|  | 38 | [Documentation]  Verify GPU's fault LEDs. | 
|  | 39 | [Tags]  Verify_GPU_Fault_LEDs_Group | 
|  | 40 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 41 | Verify LED Group  gpu  fault | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 42 |  | 
|  | 43 | Verify Power Supply Fault LEDs Group | 
|  | 44 | [Documentation]  Verify power supply's fault LEDs. | 
|  | 45 | [Tags]  Verify_Power_Supply_Fault_LEDs_Group | 
|  | 46 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 47 | Verify LED Group  powersupply  fault | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 48 |  | 
|  | 49 | Verify Enclosure Fault LED Group | 
|  | 50 | [Documentation]  Validate enclosure's fault LED. | 
|  | 51 | [Tags]  Verify_Enclosure_Fault_LED_Group | 
|  | 52 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 53 | Verify LED Group  enclosure  fault | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 54 |  | 
|  | 55 | Verify Power State LEDs Group | 
|  | 56 | [Documentation]  Verify power state LEDs. | 
|  | 57 | [Tags]  Verify_Power_State_LEDs_Group | 
|  | 58 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 59 | Verify LED Group  power | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 60 |  | 
|  | 61 | Verify Enclosure Identify LED Group | 
|  | 62 | [Documentation]  Validate enclosure's identify LED. | 
|  | 63 | [Tags]  Verify_Enclosure_Identify_LED_Group | 
|  | 64 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 65 | Verify LED Group  enclosure  identify | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 66 |  | 
|  | 67 | Verify Fan Identify LEDs Group | 
|  | 68 | [Documentation]  Verify fan's identify LEDs. | 
|  | 69 | [Tags]  Verify_Fan_Identify_LEDs_Group | 
|  | 70 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 71 | Verify LED Group  fan  identify | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 72 |  | 
|  | 73 | Verify Other Fault LEDs Group | 
|  | 74 | [Documentation]  Verify other fault LEDs. | 
|  | 75 | [Tags]  Verify_Other_Fault_LEDs_Group | 
|  | 76 |  | 
| George Keishing | 15b3891 | 2017-03-30 06:54:30 -0500 | [diff] [blame] | 77 | Verify LED Group  system_fault | 
|  | 78 | Verify LED Group  boxelder_fault | 
|  | 79 | Verify LED Group  bmc_fault | 
|  | 80 | Verify LED Group  motherboard_fault | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 81 |  | 
|  | 82 | *** Keywords *** | 
|  | 83 |  | 
| Rahul Maheshwari | 7258aec | 2017-02-02 04:46:38 -0600 | [diff] [blame] | 84 | Set LED State | 
|  | 85 | [Documentation]  Set state of given LED to on or off. | 
|  | 86 | [Arguments]  ${state}  ${led_name} | 
|  | 87 | # Description of arguments: | 
|  | 88 | # state     LED's state to set, i.e. On or Off | 
|  | 89 | # led_name  Name of LED | 
|  | 90 |  | 
|  | 91 | ${data}=  Run Keyword If | 
|  | 92 | ...  '${state}' == 'On'  Create Dictionary  data=${True} | 
|  | 93 | ...  ELSE IF  '${state}' == 'Off'  Create Dictionary  data=${False} | 
|  | 94 | ...  ELSE  Fail  msg=Invalid LED state | 
|  | 95 |  | 
|  | 96 | ${resp}=  OpenBMC Put Request | 
|  | 97 | ...  ${LED_GROUPS_URI}${led_name}/attr/Asserted  data=${data} | 
|  | 98 | ${jsondata}=  to JSON  ${resp.content} | 
|  | 99 | Should Be Equal As Strings  ${jsondata['status']}  ok | 
|  | 100 |  | 
|  | 101 | Verify LED Group | 
|  | 102 | [Documentation]  Set and validate state of all LEDs with given name. | 
|  | 103 | [Arguments]  ${led_prefix}  ${led_suffix}=${EMPTY} | 
|  | 104 | # Description of arguments: | 
|  | 105 | # led_prefix  LED name's prefix | 
|  | 106 | # led_suffix  LED name's suffix | 
|  | 107 |  | 
|  | 108 | ${led_list}=  Get LED List  ${led_prefix}  ${led_suffix} | 
|  | 109 |  | 
|  | 110 | ${list_length}=  Get Length  ${led_list} | 
|  | 111 | Should Be True  ${list_length} > 0 | 
|  | 112 | ...  msg=No ${led_prefix} ${led_suffix} LED found | 
|  | 113 |  | 
|  | 114 | :FOR  ${led}  IN  @{led_list} | 
|  | 115 | \  Set LED State  On  ${led} | 
|  | 116 | \  ${resp}=  Get LED State XYZ  ${led} | 
|  | 117 | \  Should Be Equal  ${resp}  ${1} | 
|  | 118 | \  Set LED State  Off  ${led} | 
|  | 119 | \  ${resp}=  Get LED State XYZ  ${led} | 
|  | 120 | \  Should Be Equal  ${resp}  ${0} | 
|  | 121 |  | 
|  | 122 | Setup The Suite | 
|  | 123 | [Documentation]  Test setup before running this suite. | 
|  | 124 |  | 
|  | 125 | ${resp}=  Read Properties  ${LED_GROUPS_URI} | 
|  | 126 | Set Suite Variable  ${LED_GROUPS}  ${resp} | 
|  | 127 |  | 
|  | 128 | Get LED List | 
|  | 129 | [Documentation]  Returns all LEDs with given name. | 
|  | 130 | [Arguments]  ${led_prefix}  ${led_suffix}=${EMPTY} | 
|  | 131 | # Description of arguments: | 
|  | 132 | # led_prefix  LED name's prefix | 
|  | 133 | # led_suffix  LED name's suffix | 
|  | 134 |  | 
|  | 135 | ${list}=  Get Matches | 
|  | 136 | ...  ${LED_GROUPS}  regexp=^.*[0-9a-z_].${led_prefix}.*${led_suffix} | 
|  | 137 | ${led_list}=  Create List | 
|  | 138 |  | 
|  | 139 | : FOR  ${element}  IN  @{list} | 
|  | 140 | \  ${element}=  Remove String  ${element}  ${LED_GROUPS_URI} | 
|  | 141 | \  Append To List  ${led_list}  ${element} | 
|  | 142 | Sort List  ${led_list} | 
|  | 143 |  | 
|  | 144 | [Return]  ${led_list} |