Check boot_fail_threshold against new_fails only.
If several robot tests each call obmc boot test to do a boot and the
first one fails, all subsequent calls were being counted as failures
because the total number of failures is greater than the boot failure
threshold. Made a change to compare boot_fail_threshold to new_fail,
which is the number of failures that occurred only on the latest fresh
call to obmc_boot_test.
Change-Id: Ifef2d5098bcde16dbd736bb7bac0aa132660af58
Signed-off-by: Michael Walsh <micwalsh@us.ibm.com>
diff --git a/lib/obmc_boot_test.py b/lib/obmc_boot_test.py
index 77eaa7a..d6cc3f8 100755
--- a/lib/obmc_boot_test.py
+++ b/lib/obmc_boot_test.py
@@ -1006,6 +1006,8 @@
setup()
+ init_boot_pass, init_boot_fail = boot_results.return_total_pass_fail()
+
if ffdc_only:
gp.qprint_timen("Caller requested ffdc_only.")
pre_boot_plug_in_setup()
@@ -1026,10 +1028,11 @@
gp.qprint_timen("Completed all requested boot tests.")
boot_pass, boot_fail = boot_results.return_total_pass_fail()
- if boot_fail > boot_fail_threshold:
+ new_fail = boot_fail - init_boot_fail
+ if new_fail > boot_fail_threshold:
error_message = "Boot failures exceed the boot failure" +\
" threshold:\n" +\
- gp.sprint_var(boot_fail) +\
+ gp.sprint_var(new_fail) +\
gp.sprint_var(boot_fail_threshold)
BuiltIn().fail(gp.sprint_error(error_message))