Added ffdc_only parm support to obmc_boot_test.robot/.py.

Change-Id: I13fe05382a56738a19ca448697b99804ceee7e98
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index 8f76776..551ddd8 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -32,8 +32,8 @@
 # Program parameter processing.
 # Assign all program parms to python variables which are global to this module.
 parm_list = BuiltIn().get_variable_value("${parm_list}")
-int_list = ['max_num_tests', 'boot_pass', 'boot_fail', 'quiet', 'test_mode',
-            'debug']
+int_list = ['max_num_tests', 'boot_pass', 'boot_fail', 'ffdc_only', 'quiet',
+            'test_mode', 'debug']
 for parm in parm_list:
     if parm in int_list:
         sub_cmd = "int(BuiltIn().get_variable_value(\"${" + parm +\
@@ -266,7 +266,7 @@
     BuiltIn().set_global_variable("${plug_in_packages_list}",
                                   plug_in_packages_list)
 
-    if len(boot_list) == 0 and len(boot_stack) == 0:
+    if len(boot_list) == 0 and len(boot_stack) == 0 and not ffdc_only:
         error_message = "You must provide either a value for either the" +\
             " boot_list or the boot_stack parm.\n"
         BuiltIn().fail(gp.sprint_error(error_message))
@@ -691,6 +691,15 @@
 
     setup()
 
+    if ffdc_only:
+        gp.qprint_timen("Caller requested ffdc_only.")
+        cmd_buf = ["my_ffdc"]
+        grp.rpissuing_keyword(cmd_buf)
+        try:
+            BuiltIn().run_keyword_and_continue_on_failure(*cmd_buf)
+        except:
+            gp.print_error("Call to my_ffdc failed.\n")
+
     # Process caller's boot_stack.
     while (len(boot_stack) > 0):
         test_loop_body()