blob: df76bfdcf9fffe78a5f91ffb4664a56a672cc773 [file] [log] [blame]
*** Settings ***
Documentation Suite to test OCC power module.
Resource ../lib/open_power_utils.robot
Resource ../lib/boot_utils.robot
Resource ../lib/state_manager.robot
Resource ../lib/openbmc_ffdc.robot
Suite Setup Suite Setup Execution
Test Teardown Test Teardown Execution
*** Test Cases ***
Verify OCC Object Count
[Documentation] Verify that OCC and inventory entries match.
[Tags] Verify_OCC_Object_Count
# Example:
# /org/open_power/control/enumerate
# {
# "/org/open_power/control/host0": {},
# "/org/open_power/control/occ0": {
# "OccActive": 0
# },
# "/org/open_power/control/occ1": {
# "OccActive": 0
# }
# }
# Inventory counterpart cpu's:
# "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0",
# "/xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1",
${inventory_count}= Count Object Entries
... ${HOST_INVENTORY_URI}system/chassis/motherboard/ cpu*
Should Be Equal ${occ_count} ${inventory_count}
... msg=OCC and inventory entry counts are mismatched.
Verify OCC Active State
[Documentation] Check OCC active state.
[Tags] Verify_OCC_Active_State
# Example cpu_list data output:
# /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu0
# /xyz/openbmc_project/inventory/system/chassis/motherboard/cpu1
${cpu_list}= Get Endpoint Paths
... ${HOST_INVENTORY_URI}system/chassis/motherboard/ cpu*
:FOR ${endpoint_path} IN @{cpu_list}
\ ${is_functional}= Read Object Attribute ${endpoint_path} Functional
\ Continue For Loop If ${is_functional} == ${0}
\ ${num}= Set Variable ${endpoint_path[-1]}
\ ${occ_active}= Get OCC Active State ${OPENPOWER_CONTROL}occ${num}
\ Should Be True ${occ_active} msg=OCC ${num} is not active.
*** Keywords ***
Suite Setup Execution
[Documentation] Do the initial test suite setup.
# - Power off.
# - Boot Host.
Smart Power Off
REST Power On
Count OCC Object Entry
Count OCC Object Entry
[Documentation] Count OCC object entry and set count.
${object_count}= Count Object Entries ${OPENPOWER_CONTROL} occ*
Set Suite Variable ${occ_count] ${object_count}
Test Teardown Execution
[Documentation] Do the post test teardown.
# - Capture FFDC on test failure.
# - Delete error logs.
# - Close all open SSH connections.
FFDC On Test Case Fail
Delete Error Logs
Close All Connections