blob: 754277807dffb49c8fa2dccb2ae50324380307b2 [file] [log] [blame]
Chris Austenb29d2e82016-06-07 12:25:35 -05001*** Settings ***
2Documentation This testsuite is for testing inventory
3Suite Teardown Delete All Sessions
4Resource ../lib/rest_client.robot
5Resource ../lib/utils.robot
George Keishingd55a4be2016-08-26 03:28:17 -05006Resource ../lib/openbmc_ffdc.robot
George Keishing1d5ec742016-09-02 05:29:14 -05007Resource ../lib/boot/boot_resource_master.robot
Chris Austenb29d2e82016-06-07 12:25:35 -05008Library ../lib/utilities.py
9Library String
10Library Collections
George Keishingd55a4be2016-08-26 03:28:17 -050011Test Teardown Log FFDC
Chris Austenb29d2e82016-06-07 12:25:35 -050012
13Variables ../data/variables.py
14
15
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050016Suite setup setup the suite
Chris Austenb29d2e82016-06-07 12:25:35 -050017
causten147f5752016-08-11 16:24:45 -050018Force Tags chassisboot
Chris Austenb29d2e82016-06-07 12:25:35 -050019
20*** Test Cases ***
21
22minimal cpu inventory
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050023 ${count} = Get Total Present cpu
24 Should Be True ${count}>${0}
Chris Austenb29d2e82016-06-07 12:25:35 -050025
26minimal dimm inventory
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050027 ${count} = Get Total Present dimm
28 Should Be True ${count}>=${2}
Chris Austenb29d2e82016-06-07 12:25:35 -050029
30minimal core inventory
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050031 ${count} = Get Total Present core
32 Should Be True ${count}>${0}
Chris Austenb29d2e82016-06-07 12:25:35 -050033
34minimal memory buffer inventory
Rahul Maheshwarif8119102016-10-05 01:15:56 -050035 [Tags] minimal_memory_buffer_inventory
36
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050037 ${count} = Get Total Present membuf
38 Should Be True ${count}>${0}
Chris Austenb29d2e82016-06-07 12:25:35 -050039
40minimal fan inventory
George Keishing8c0a4e52016-09-27 11:21:50 -050041 [Tags] minimal_fan_inventory
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050042 ${count} = Get Total Present fan
43 Should Be True ${count}>${2}
Chris Austenb29d2e82016-06-07 12:25:35 -050044
45minimal main planar inventory
Rahul Maheshwarif8119102016-10-05 01:15:56 -050046 [Tags] minimal_main_planar_inventory
47
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050048 ${count} = Get Total Present motherboard
49 Should Be True ${count}>${0}
Chris Austenb29d2e82016-06-07 12:25:35 -050050
51minimal system inventory
Rahul Maheshwarif8119102016-10-05 01:15:56 -050052 [Tags] minimal_system_inventory
53
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050054 ${count} = Get Total Present system
55 Should Be True ${count}>${0}
Chris Austenb29d2e82016-06-07 12:25:35 -050056
57Verify CPU VPD Properties
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050058 Verify Properties CPU
Chris Austenb29d2e82016-06-07 12:25:35 -050059
60Verify DIMM VPD Properties
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050061 Verify Properties DIMM
Chris Austenb29d2e82016-06-07 12:25:35 -050062
63Verify Memory Buffer VPD Properties
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050064 Verify Properties MEMORY_BUFFER
Chris Austenb29d2e82016-06-07 12:25:35 -050065
66Verify Fan VPD Properties
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050067 Verify Properties FAN
Chris Austenb29d2e82016-06-07 12:25:35 -050068
69Verify System VPD Properties
George Keishing8c0a4e52016-09-27 11:21:50 -050070 [Tags] Verify_System_VPD_Properties
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050071 Verify Properties SYSTEM
Chris Austenb29d2e82016-06-07 12:25:35 -050072
73
74*** Keywords ***
75
Chris Austenb29d2e82016-06-07 12:25:35 -050076
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050077Setup The Suite
78 BMC Power On
79
80 ${resp} = Read Properties /org/openbmc/inventory/enumerate
81 Set Suite Variable ${SYSTEM_INFO} ${resp}
82 log Dictionary ${resp}
Chris Austenb29d2e82016-06-07 12:25:35 -050083
84Get Total Present
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050085 [arguments] ${type}
86 ${l} = Create List []
87 ${resp} = Get Dictionary Keys ${SYSTEM_INFO}
88 ${list} = Get Matches ${resp} regexp=^.*[0-9a-z_].${type}[0-9]*$
89 : FOR ${element} IN @{list}
90 \ Append To List ${l} ${SYSTEM_INFO['${element}']['present']}
Chris Austenb29d2e82016-06-07 12:25:35 -050091
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050092 ${sum} = Get Count ${l} True
93 [return] ${sum}
Chris Austenb29d2e82016-06-07 12:25:35 -050094
95Verify Properties
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050096 [arguments] ${type}
Chris Austenb29d2e82016-06-07 12:25:35 -050097
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -050098 ${list} = Get VPD Inventory List ${OPENBMC_MODEL} ${type}
99 : FOR ${element} IN @{list}
100 \ ${d} = Get From Dictionary ${SYSTEM_INFO} ${element}
101 \ Run Keyword If ${d['present']} == True Verify Present Properties ${d} ${type}
Chris Austenb29d2e82016-06-07 12:25:35 -0500102
103Verify Present Properties
Rahul Maheshwari4a4eb6e2016-09-24 01:06:36 -0500104 [arguments] ${d} ${type}
105 ${keys} = Get Dictionary Keys ${d}
106 Log List ${keys}
107 Log List ${INVENTORY_ITEMS['${type}']}
108 Lists Should Be Equal ${INVENTORY_ITEMS['${type}']} ${keys}