obmc_boot_test.robot/obmc_boot_test.py changes:

- Change to call FFDC with run_keyword_and_continue_on_failure vs
  run_keyword.
- Renamed program_teardown to main_keyword_teardown which is more
  accurate.
- Added a test_teardown.  Added code to it to print an error message
  when a keyword time-out is detected.  Trying to add code to figure
  out why failures in FFDC collection stop the test run.

Change-Id: I4bbef38daaa988922f07eeee61b47a7d3f283940
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index a7f3171..8608b1d 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -15,6 +15,7 @@
 from robot.libraries.BuiltIn import BuiltIn
 
 from boot_data import *
+import gen_print as gp
 import gen_robot_print as grp
 import gen_robot_plug_in as grpi
 import gen_robot_valid as grv
@@ -24,7 +25,7 @@
 
 base_path = os.path.dirname(os.path.dirname(
                             imp.find_module("gen_robot_print")[1])) +\
-                            os.sep
+    os.sep
 sys.path.append(base_path + "extended/")
 import run_keyword as rk
 
@@ -55,7 +56,7 @@
 master_pid = os.environ.get('AUTOBOOT_MASTER_PID', program_pid)
 
 boot_results_file_path = "/tmp/" + openbmc_nickname + ":pid_" +\
-   str(master_pid) + ":boot_results"
+                         str(master_pid) + ":boot_results"
 if os.path.isfile(boot_results_file_path):
     # We've been called before in this run so we'll load the saved
     # boot_results object.
@@ -402,7 +403,7 @@
 
     cmd_buf = ["FFDC", "ffdc_prefix=" + AUTOBOOT_FFDC_PREFIX]
     grp.rpissuing_keyword(cmd_buf)
-    BuiltIn().run_keyword(*cmd_buf)
+    BuiltIn().run_keyword_and_continue_on_failure(*cmd_buf)
 
     my_get_state()
 
@@ -582,10 +583,10 @@
 
 
 ###############################################################################
-def program_teardown():
+def main_keyword_teardown():
 
     r"""
-    Clean up after this program.
+    Clean up after the Main keyword.
     """
 
     if cp_setup_called:
@@ -603,6 +604,21 @@
 
 
 ###############################################################################
+def test_teardown():
+
+    r"""
+    Clean up after this test case.
+    """
+
+    gp.qprintn()
+    cmd_buf = ["Print Error",
+               "A keyword timeout occurred ending this program.\n"]
+    BuiltIn().run_keyword_if_timeout_occurred(*cmd_buf)
+
+###############################################################################
+
+
+###############################################################################
 def main_py():
 
     r"""