*** 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

Force Tags          Reboot_RAS

*** Test Cases ***
Verify Host Unrecoverable Callout Handling At Reboot
    [Documentation]  Verify host unrecoverable callout handling at reboot.
    [Tags]  Verify_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}