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
33Resource           state_manager.robot
34Library            openbmc_ffdc.py
35
36*** Keywords ***
37
38FFDC On Test Case Fail
39    [Documentation]   Generic FFDC entry point. Place holder to hook in
40    ...               other data collection methods
41    ...               1. Collect Logs if test fails or host reaches quiesced
42    ...                  state.
43    ...               2. Recover host from quiesced state
44    ...               3. Added Test execution history logging
45    ...                  By default this will log Test status PASS/FAIL format
46    ...                  EX: 20160822041250932049:Test:Test case 1:PASS
47    ...                      20160822041250969913:Test:Test case 2:FAIL
48
49    ${status}=  Is Host Quiesced
50    Run Keyword If  '${TEST_STATUS}' == 'FAIL' or '${status}'=='True'  FFDC
51    Run Keyword If  '${status}'=='True'  Recover Quiesced Host
52
53    Log Test Case Status
54