xref: /openbmc/openbmc-test-automation/redfish/systems/LogServices/test_post_codes.robot (revision 58229e4b4fcb8e62f5f7d9c539923e98ebc9bd9b)
1*** Settings ***
2Documentation    Test suite to verify BIOS POST code log entries.
3
4Resource         ../../../lib/resource.robot
5Resource         ../../../lib/bmc_redfish_resource.robot
6Resource         ../../../lib/openbmc_ffdc.robot
7Resource         ../../../lib/logging_utils.robot
8
9Suite Setup      Suite Setup Execution
10Test Setup       Test Setup Execution
11Test Teardown    Test Teardown Execution
12Suite Teardown   Suite Teardown Execution
13
14*** Test Cases ***
15
16Test PostCodes When Host Boots
17    [Documentation]  Boot the system and verify PostCodes from host are logged.
18    [Tags]  Test_PostCodes_When_Host_Boots
19
20    Redfish Power On
21    ${post_code_list}=  Redfish Get PostCodes
22    Rprint Vars  post_code_list
23
24    ${post_codes}=  Redfish.Get Properties
25    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
26    Log To Console  BIOS POST Codes count: ${post_codes['Members@odata.count']}
27    Should Be True  ${post_codes['Members@odata.count']} >= 1  msg=No BIOS POST Codes populated.
28
29
30Test PostCodes When Host Reboot
31    [Documentation]  Initiate Host reboot the system and verify PostCodes from host are logged.
32    [Tags]  Test_PostCodes_When_Host_Reboot
33
34    # Boot to runtime and clear post codes.
35    Redfish Power On  stack_mode=skip
36    Redfish Clear PostCodes
37
38    RF SYS GracefulRestart
39    ${post_code_list}=  Redfish Get PostCodes
40    Rprint Vars  post_code_list
41
42    ${post_codes}=  Redfish.Get Properties
43    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
44    Log To Console  BIOS POST Codes count: ${post_codes['Members@odata.count']}
45    Should Be True  ${post_codes['Members@odata.count']} >= 1  msg=No BIOS POST Codes populated.
46
47
48Test PostCodes When Host Powered Off
49    [Documentation]  Power off the system and verify PostCodes from host are logged.
50    [Tags]  Test_PostCodes_When_Host_Powered_Off
51
52    # Boot to runtime and clear post codes.
53    Redfish Power On  stack_mode=skip
54    Redfish Clear PostCodes
55
56    Redfish Power Off
57    ${post_code_list}=  Redfish Get PostCodes
58    Rprint Vars  post_code_list
59
60    ${post_codes}=  Redfish.Get Properties
61    ...  /redfish/v1/Systems/system/LogServices/PostCodes/Entries
62    Log To Console  BIOS POST Codes count: ${post_codes['Members@odata.count']}
63    Should Be True  ${post_codes['Members@odata.count']} >= 1  msg=No BIOS POST Codes populated.
64
65
66*** Keywords ***
67
68Test Setup Execution
69    [Documentation]  Do test setup operation.
70
71    Redfish.Login
72    Redfish Clear PostCodes
73
74
75Test Teardown Execution
76    [Documentation]  Do test teardown operation.
77
78    FFDC On Test Case Fail
79
80
81Suite Setup Execution
82    [Documentation]  Do suite setup operation.
83
84    Redfish.Login
85    Redfish Power Off  stack_mode=skip
86
87    Run Keyword And Ignore Error  Redfish Delete All BMC Dumps
88    Run Keyword And Ignore Error  Redfish Purge Event Log
89    Run Keyword And Ignore Error  Delete All Redfish Sessions
90
91
92Suite Teardown Execution
93    [Documentation]  Do suite teardown operation.
94
95    Run Keyword And Ignore Error  Redfish Delete All BMC Dumps
96    Run Keyword And Ignore Error  Redfish Purge Event Log
97    Run Keyword And Ignore Error  Delete All Redfish Sessions
98