*** Settings ***
Documentation      This module is for data collection on test case failure
...                for openbmc systems. Collects data with default name
...                ffdc_report.txt under directory logs/testSuite/testName/
...                on failure.
...                FFDC logging sample layout:
...                logs
...                ├── 20160909102538035251_TestWarmreset
...                │   └── 20160909102538035251_TestWarmResetviaREST
...                │       ├── 20160909102538035251_BMC_journalctl
...                │       ├── 20160909102538035251_BMC_proc_list
...                │       ├── 20160909102538035251_BMC_dmesg
...                │       ├── 20160909102538035251_BMC_inventory
...                │       ├── 20160909102538035251_BMC_led
...                │       ├── 20160909102538035251_BMC_record_log
...                │       ├── 20160909102538035251_BMC_sensor_list
...                │       ├── 20160909102538035251_BMC_general.txt
...                │       ├── 20160909102538035251_OS_dmesg
...                │       ├── 20160909102538035251_OS_msglog
...                │       ├── 20160909102538035251_OS_cpufrequency
...                │       ├── 20160909102538035251_OS_boot
...                │       ├── 20160909102538035251_OS_isusb
...                │       ├── 20160909102538035251_OS_kern
...                │       ├── 20160909102538035251_OS_authlog
...                │       ├── 20160909102538035251_OS_syslog
...                │       ├── 20160909102538035251_OS_info
...                │       ├── 20160909102538035251_OS_rsct
...                │       └── 20160909102538035251_OS_secure
...                └── test_history.txt

Resource           openbmc_ffdc_methods.robot
Resource           openbmc_ffdc_utils.robot

*** Keywords ***

Log FFDC
    [Documentation]   Generic FFDC entry point. Place holder to hook in
    ...               other data collection methods
    ...               1. Collect Logs if test fails
    ...               2. Added Test execution history logging
    ...                  By default this will log Test status PASS/FAIL format
    ...                  EX: 20160822041250932049:Test:Test case 1:PASS
    ...                      20160822041250969913:Test:Test case 2:FAIL

    Run Keyword If  '${TEST_STATUS}' == 'FAIL'
    ...    Log FFDC If Test Case Failed

    Log Test Case Status


Log FFDC If Test Case Failed
    [Documentation]   Main entry point to gather logs on Test case failure
    ...               1. Set global FFDC time reference for a failure
    ...               2. Create FFDC work space directory
    ...               3. Write test info details
    ...               4. Calls BMC methods to write/collect FFDC data

    ${cur_time}=      Get Current Time Stamp
    Set Global Variable    ${FFDC_TIME}     ${cur_time}
    Log To Console    ${\n}FFDC Collection Started \t: ${cur_time}

    # Log directory setup
    ${suitename}   ${testname}=    Get Test Dir and Name

    Set Global Variable
    ...   ${FFDC_DIR_PATH}  ${FFDC_LOG_PATH}${suitename}${/}${testname}

    ${prefix}=   Catenate  SEPARATOR=   ${FFDC_DIR_PATH}${/}   ${FFDC_TIME}_
    Set Global Variable    ${LOG_PREFIX}    ${prefix}

    Create FFDC Directory
    Header Message

    # -- FFDC processing entry point --
    Call FFDC Methods

    ${cur_time}=       Get Current Time Stamp
    Log To Console     FFDC Collection Completed \t: ${cur_time}
    Log                ${\n}${FFDC_DIR_PATH}
