1*** Settings *** 2Documentation This module is for data collection on test case failure 3... for openbmc systems. Collects data with default name 4... ffdc_report.txt under directory logs/testSuite/testName/ 5... on failure. 6... FFDC logging sample layout: 7... logs 8... ├── 20160909102538035251_TestWarmreset 9... │ └── 20160909102538035251_TestWarmResetviaREST 10... │ ├── 20160909102538035251_BMC_journalctl.txt 11... │ ├── 20160909102538035251_BMC_proc_list.txt 12... │ ├── 20160909102538035251_BMC_dmesg.txt 13... │ ├── 20160909102538035251_BMC_inventory.txt 14... │ ├── 20160909102538035251_BMC_led.txt 15... │ ├── 20160909102538035251_BMC_record_log.txt 16... │ ├── 20160909102538035251_BMC_sensor_list.txt 17... │ ├── 20160909102538035251_BMC_general.txt 18... │ ├── 20160909102538035251_OS_dmesg.txt 19... │ ├── 20160909102538035251_OS_msglog.txt 20... │ ├── 20160909102538035251_OS_cpufrequency.txt 21... │ ├── 20160909102538035251_OS_boot.txt 22... │ ├── 20160909102538035251_OS_isusb.txt 23... │ ├── 20160909102538035251_OS_kern.txt 24... │ ├── 20160909102538035251_OS_authlog.txt 25... │ ├── 20160909102538035251_OS_syslog.txt 26... │ ├── 20160909102538035251_OS_info.txt 27... │ ├── 20160909102538035251_OS_rsct.txt 28... │ └── 20160909102538035251_OS_secure.txt 29... └── test_history.txt 30 31Resource openbmc_ffdc_methods.robot 32Resource openbmc_ffdc_utils.robot 33 34*** Keywords *** 35 36FFDC On Test Case Fail 37 [Documentation] Generic FFDC entry point. Place holder to hook in 38 ... other data collection methods 39 ... 1. Collect Logs if test fails 40 ... 2. Added Test execution history logging 41 ... By default this will log Test status PASS/FAIL format 42 ... EX: 20160822041250932049:Test:Test case 1:PASS 43 ... 20160822041250969913:Test:Test case 2:FAIL 44 45 Run Keyword If '${TEST_STATUS}' == 'FAIL' 46 ... FFDC 47 48 Log Test Case Status 49 50 51FFDC 52 [Documentation] Main entry point to gather logs on Test case failure 53 ... 1. Set global FFDC time reference for a failure 54 ... 2. Create FFDC work space directory 55 ... 3. Write test info details 56 ... 4. Calls BMC methods to write/collect FFDC data 57 58 ${cur_time}= Get Current Time Stamp 59 Set Global Variable ${FFDC_TIME} ${cur_time} 60 Log To Console ${\n}FFDC Collection Started \t: ${cur_time} 61 62 # Log directory setup 63 ${suitename} ${testname}= Get Test Dir and Name 64 65 Set Global Variable 66 ... ${FFDC_DIR_PATH} ${FFDC_LOG_PATH}${suitename}${/}${testname} 67 68 ${prefix}= Catenate SEPARATOR= ${FFDC_DIR_PATH}${/} ${FFDC_TIME}_ 69 Set Global Variable ${LOG_PREFIX} ${prefix} 70 71 Create FFDC Directory 72 Header Message 73 74 # -- FFDC processing entry point -- 75 Call FFDC Methods 76 77 ${cur_time}= Get Current Time Stamp 78 Log To Console FFDC Collection Completed \t: ${cur_time} 79 Log ${\n}${FFDC_DIR_PATH} 80