*** Settings ***
Documentation       This suite tests error log callout handling when checkstop
...                 is injected through HOST/BMC and BMC rebooted.

Resource            ../../lib/openbmc_ffdc.robot
Resource            ../../lib/openbmc_ffdc_utils.robot
Resource            ../../lib/openbmc_ffdc_methods.robot
Resource            ../../openpower/ras/ras_utils.robot
Variables           ../../lib/ras/variables.py
Variables           ../../data/variables.py

Suite Setup         RAS Suite Setup
Test Setup          RAS Test Setup
Test Teardown       FFDC On Test Case Fail
Suite Teardown      RAS Suite Cleanup

Test Tags          Reboot_RAS

*** Test Cases ***
Verify Host Unrecoverable Callout Handling At Reboot
    [Documentation]  Verify host unrecoverable callout handling at reboot.
    [Tags]  Verify_Host_Unrecoverable_Callout_Handling_At_Reboot

    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L2FIR_UE
    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l2fir_ue
    Inject Unrecoverable Error  HOST  ${translated_fir}
    ...  ${value[1]}  1  ${value[2]}  ${err_log_path}  ${1}

Verify Pdbg Unrecoverable Callout Handling At Reboot
    [Documentation]  Verify unrecoverable callout handling
    ...              with pdbg tool at reboot.
    [Tags]  Verify_Pdbg_Unrecoverable_Callout_Handling_At_Reboot

    ${value}=  Get From Dictionary  ${ERROR_INJECT_DICT}  L3FIR_UE
    ${translated_fir}=  Fetch FIR Address Translation Value  ${value[0]}  EX
    ${err_log_path}=  Catenate  ${RAS_LOG_DIR_PATH}l3fir_ue
    Inject Unrecoverable Error  BMC  ${translated_fir}
    ...  ${value[1]}  1  ${value[2]}  ${err_log_path}  ${1}
