*** 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.txt ... │   ├── 20160909102538035251_BMC_proc_list.txt ... │   ├── 20160909102538035251_BMC_dmesg.txt ... │   ├── 20160909102538035251_BMC_inventory.txt ... │   ├── 20160909102538035251_BMC_led.txt ... │   ├── 20160909102538035251_BMC_record_log.txt ... │   ├── 20160909102538035251_BMC_sensor_list.txt ... │   ├── 20160909102538035251_BMC_general.txt ... │   ├── 20160909102538035251_OS_dmesg.txt ... │   ├── 20160909102538035251_OS_msglog.txt ... │   ├── 20160909102538035251_OS_cpufrequency.txt ... │   ├── 20160909102538035251_OS_boot.txt ... │   ├── 20160909102538035251_OS_isusb.txt ... │   ├── 20160909102538035251_OS_kern.txt ... │   ├── 20160909102538035251_OS_authlog.txt ... │   ├── 20160909102538035251_OS_syslog.txt ... │   ├── 20160909102538035251_OS_info.txt ... │   ├── 20160909102538035251_OS_rsct.txt ... │   └── 20160909102538035251_OS_secure.txt ... └── test_history.txt Resource openbmc_ffdc_methods.robot Resource openbmc_ffdc_utils.robot *** Keywords *** FFDC On Test Case Fail [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' ... FFDC Log Test Case Status FFDC [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}