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... │ └── 20160909102538035251_OS_esel 30... └── test_history.txt 31 32Resource openbmc_ffdc_methods.robot 33Resource openbmc_ffdc_utils.robot 34Resource dump_utils.robot 35Library openbmc_ffdc.py 36Library ffdc_cli_robot_script.py 37 38*** Keywords *** 39 40FFDC On Test Case Fail 41 [Documentation] Generic FFDC entry point. Place holder to hook in 42 ... other data collection methods 43 ... 1. Collect Logs if test fails or host reaches quiesced 44 ... state. 45 ... 2. Added test execution history logging. 46 ... By default this will log Test status PASS/FAIL format 47 ... EX: 20160822041250932049:Test:Test case 1:PASS 48 ... 20160822041250969913:Test:Test case 2:FAIL 49 ... 3. Delete error logs and BMC dumps post FFDC collection. 50 51 ${OVERRIDE_FFDC_ON_TEST_CASE_FAIL}= Get Environment Variable OVERRIDE_FFDC_ON_TEST_CASE_FAIL 0 52 ${OVERRIDE_FFDC_ON_TEST_CASE_FAIL}= Convert To Integer ${OVERRIDE_FFDC_ON_TEST_CASE_FAIL} 53 Return From Keyword If ${OVERRIDE_FFDC_ON_TEST_CASE_FAIL} 54 55 Run Keyword If '${TEST_STATUS}' == 'FAIL' Launch FFDC 56 57 Log Test Case Status 58 59 60Launch FFDC 61 [Documentation] Call point to call FFDC robot or FFDC script. 62 ... FFDC_DEFAULT set to 1, by default, in resource.robot 63 ... FFDC_DEFAULT:1 use legacy ffdc collector 64 ... FFDC_DEFAULT:0 use new ffdc collector. 65 66 Run Keyword If ${FFDC_DEFAULT} == ${1} FFDC # Keyword from openbmc_ffdc.py 67 ... ELSE ffdc_robot_script_cli # Keyword from ffdc_cli_robot_script.py 68 69