1*** Settings ***
2Documentation   This suite is to run some test at the end of execution.
3
4Resource        ../lib/resource.robot
5Resource        ../lib/bmc_redfish_resource.robot
6Resource        ../lib/openbmc_ffdc.robot
7
8Test Teardown   Test Teardown Execution
9
10*** Variables ***
11
12# Error strings to check from journald.
13${ERROR_REGEX}     SEGV|core-dump|FAILURE|Failed to start
14
15
16*** Test Cases ***
17
18Verify No BMC Dump And Application Failures In BMC
19    [Documentation]  Verify no BMC dump and application failure exists in BMC.
20    [Tags]  Verify_No_BMC_Dump_And_Application_Failures_In_BMC
21
22    # Check dump entry based on Redfish API availability.
23    Redfish.Login
24    ${resp}=  Redfish.Get  /redfish/v1/Managers/bmc/LogServices/Dump/Entries
25    ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
26
27    Log To Console  ${resp}
28
29    Run Keyword If  '${resp.status}' == '${HTTP_OK}'
30    ...  Should Be Equal As Strings  ${resp.dict["Members@odata.count"]}  0
31    ...  msg=${resp.dict["Members@odata.count"]} dumps exist.
32
33    ${rest_resp}=  Run Keyword If  '${resp.status}' == '${HTTP_NOT_FOUND}'
34    ...  Check For REST Dumps
35
36    Check For Regex In Journald  ${ERROR_REGEX}  error_check=${0}  boot=-b
37
38
39*** Keywords ***
40
41Check For REST Dumps
42    [Documentation]  Verify no BMC dump via REST path.
43
44    ${rest_resp}=  Redfish.Get  /xyz/openbmc_project/dump/bmc/entry/list
45    ...  valid_status_codes=[${HTTP_OK}, ${HTTP_NOT_FOUND}]
46
47    Log To Console  ${rest_resp}
48
49    Should Be Equal As Strings  ${rest_resp.status}  ${HTTP_NOT_FOUND}
50    ...  msg=1 or more dumps exist.
51
52
53Test Teardown Execution
54    [Documentation]  Do test teardown operation.
55
56    FFDC On Test Case Fail
57    # Remove rm command  once the BMC dump APIs are working.
58    Run Keyword And Ignore Error  BMC Execute Command  rm -rf /var/lib/phosphor-debug-collector/dumps/
59    Run Keyword And Ignore Error  Delete All BMC Dump
60    Run Keyword And Ignore Error  Redfish Delete All BMC Dumps
61    Run Keyword And Ignore Error  Redfish Delete All System Dumps
62