blob: d301cd9acbc6fe9f72d3936cfe92490c8966662f [file] [log] [blame]
*** Settings ***
Documentation This example demonstrates executing commands on a remote machine
... and getting their output and the return code.
...
... Notice how connections are handled as part of the suite setup and
... teardown. This saves some time when executing several test cases.
Resource ../lib/rest_client.robot
Resource ../lib/ipmi_client.robot
Library ../data/model.py
Suite Setup Open Connection And Log In
Suite Teardown Close All Connections
*** Variables ***
${model} = ${OPENBMC_MODEL}
*** Test Cases ***
Verify connection
Execute new Command echo "hello"
Response Should Be Equal "hello"
Execute ipmi BT capabilities command
Run IPMI command 0x06 0x36
response Should Be Equal " 01 40 40 0a 01"
Execute Set Sensor boot count
${uri} = Set Variable /org/openbmc/sensors/host/BootCount
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x01 0x00 0x35 0x00 0x00 0x00 0x00 0x00 0x00
Read the Attribute ${uri} value
${val} = convert to integer 53
Response Should Be Equal ${val}
Set Sensor Boot progress
${uri} = Set Variable /org/openbmc/sensors/host/BootProgress
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x04 0x00 0x00 0x00 0x00 0x14 0x00
Read the Attribute ${uri} value
Response Should Be Equal FW Progress, Baseboard Init
Set Sensor Boot progress Longest string
${uri} = Set Variable /org/openbmc/sensors/host/BootProgress
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x04 0x00 0x00 0x00 0x00 0x0e 0x00
Read The Attribute ${uri} value
Response Should Be Equal FW Progress, Docking station attachment
BootProgress sensor FW Hang unspecified Error
${uri} = Set Variable /org/openbmc/sensors/host/BootProgress
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x02 0x00 0x00 0x00 0x00 0x00 0x00
Read The Attribute ${uri} value
Response Should Be Equal FW Hang, Unspecified
BootProgress fw hang state
${uri} = Set Variable /org/openbmc/sensors/host/BootProgress
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} value
Response Should Be Equal POST Error, unknown
OperatingSystemStatus Sensor boot completed progress
${uri} = Set Variable /org/openbmc/sensors/host/OperatingSystemStatus
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} value
Response Should Be Equal Boot completed (00)
OperatingSystemStatus Sensor progress
${uri} = Set Variable /org/openbmc/sensors/host/OperatingSystemStatus
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x04 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} value
Response Should Be Equal PXE boot completed
OCC Active sensor on enabled
${uri} = Set Variable /org/openbmc/sensors/host/cpu0/OccStatus
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x02 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} value
Response Should Be Equal Enabled
OCC Active sensor on disabled
${uri} = Set Variable /org/openbmc/sensors/host/cpu0/OccStatus
${x} = Get Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x01 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} value
Response Should Be Equal Disabled
CPU Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x80 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal True
CPU not Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x00 0x00 0x80 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal False
CPU fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0xff 0x00 0x01 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal True
CPU no fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal False
core Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0/core11
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x80 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal True
core not Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0/core11
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x00 0x00 0x80 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal False
core fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0/core11
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0xff 0x00 0x01 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal True
core no fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/cpu0/core11
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x00 0x01 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal False
DIMM3 Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/dimm3
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x40 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal True
DIMM3 not Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/dimm3
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0xff 0x00 0x00 0x40 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal False
DIMM0 fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/dimm0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal True
DIMM0 no fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/dimm0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal False
Centaur0 Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/membuf0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x40 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal True
Centaur0 not Present
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/membuf0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x40 0x00 0x00 0x20 0x00
Read The Attribute ${uri} present
Response Should Be Equal False
Centaur0 fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/membuf0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x10 0x00 0x00 0x00 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal True
Centaur0 no fault
${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/membuf0
${x} = Get Inventory Sensor Number ${uri}
Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x10 0x00 0x00 0x20 0x00
Read The Attribute ${uri} fault
Response Should Be Equal False
System Present
Read The Attribute /org/openbmc/inventory/system present
Response Should Be Equal True
System Fault
Read The Attribute /org/openbmc/inventory/system fault
Response Should Be Equal False
Chassis Present
Read The Attribute /org/openbmc/inventory/system/chassis present
Response Should Be Equal True
Chassis Fault
Read The Attribute /org/openbmc/inventory/system/chassis fault
Response Should Be Equal False
io_board Present
Read The Attribute /org/openbmc/inventory/system/chassis/io_board present
Response Should Be Equal True
io_board Fault
Read The Attribute /org/openbmc/inventory/system/chassis/io_board fault
Response Should Be Equal False
*** Keywords ***
Execute new Command
[arguments] ${args}
${output}= Execute Command ${args}
set test variable ${OUTPUT} "${output}"
response Should Be Equal
[arguments] ${args}
Should Be Equal ${OUTPUT} ${args}
Response Should Be Empty
Should Be Empty ${OUTPUT}
Read the Attribute
[arguments] ${uri} ${parm}
${output} = Read Attribute ${uri} ${parm}
set test variable ${OUTPUT} ${output}
Get Sensor Number
[arguments] ${name}
${x} = get sensor ${OPENBMC_MODEL} ${name}
[return] ${x}
Get Inventory Sensor Number
[arguments] ${name}
${x} = get inventory sensor ${OPENBMC_MODEL} ${name}
[return] ${x}