1*** Settings ***
2Documentation   This suite tests Platform Event Log (PEL) functionality of OpenBMC.
3
4Library         ../../lib/pel_utils.py
5Resource        ../../lib/openbmc_ffdc.robot
6
7Test Setup      Run Keywords  Redfish.Login  AND  Redfish Purge Event Log
8Test Teardown   FFDC On Test Case Fail
9
10
11*** Variables ***
12
13${CMD_INTERNAL_FAILURE}  busctl call xyz.openbmc_project.Logging /xyz/openbmc_project/logging
14...  xyz.openbmc_project.Logging.Create Create ssa{ss} xyz.openbmc_project.Common.Error.InternalFailure
15...  xyz.openbmc_project.Logging.Entry.Level.Error 0
16
17
18*** Test Cases ***
19
20Create Test PEL Log And Verify
21    [Documentation]  Create PEL log using busctl command and verify via peltool.
22    [Tags]  Create_Test_PEL_Log_And_Verify
23
24    Create Test PEL Log
25    PEL Log Should Exist
26
27
28*** Keywords ***
29
30Create Test PEL Log
31    [Documentation]  Generate test PEL log.
32
33    # Test PEL log entry example:
34    # {
35    #    "0x5000002D": {
36    #            "SRC": "BD8D1002",
37    #            "Message": "An application had an internal failure",
38    #            "PLID": "0x5000002D",
39    #            "CreatorID": "BMC",
40    #            "Subsystem": "BMC Firmware",
41    #            "Commit Time": "02/25/2020  04:47:09",
42    #            "Sev": "Unrecoverable Error",
43    #            "CompID": "0x1000"
44    #    }
45    # }
46
47    BMC Execute Command  ${CMD_INTERNAL_FAILURE}
48
49
50PEL Log Should Exist
51    [Documentation]  PEL log entries should exist.
52
53    ${pel_records}=  Peltool  -l
54    Should Not Be Empty  ${pel_records}  msg=System PEL log entry is not empty.
55
56