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.log 11... │ ├── 20160909102538035251_BMC_proc_list 12... │ ├── 20160909102538035251_BMC_dmesg 13... │ ├── 20160909102538035251_BMC_inventory 14... │ ├── 20160909102538035251_BMC_led 15... │ ├── 20160909102538035251_BMC_record_log 16... │ ├── 20160909102538035251_BMC_sensor_list 17... │ ├── 20160909102538035251_OS_dmesg 18... │ ├── 20160909102538035251_OS_msglog 19... │ ├── 20160909102538035251_OS_cpufrequency 20... │ ├── 20160909102538035251_OS_boot 21... │ ├── 20160909102538035251_OS_isusb 22... │ ├── 20160909102538035251_OS_kern 23... │ ├── 20160909102538035251_OS_authlog 24... │ ├── 20160909102538035251_OS_syslog 25... │ ├── 20160909102538035251_OS_info 26... │ ├── 20160909102538035251_OS_rsct 27... │ ├── 20160909102538035251_OS_secure 28... │ └── 20160909102538035251_ffdc_report.txt 29... └── test_history.txt 30 31Resource openbmc_ffdc_methods.robot 32Resource openbmc_ffdc_utils.robot 33 34*** Keywords *** 35 36Log FFDC 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 ... Log FFDC If Test Case Failed 47 48 Log Test Case Status 49 50 51Log FFDC If Test Case Failed 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