Add BMC "reboot" loop test

Resolves  openbmc/openbmc-test-automation#1102

Change-Id: I81dc4699a524c05c7092cf95fbd93c9ccbee0a3c
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/extended/test_powercycle_loop.robot b/extended/test_powercycle_loop.robot
index f2a414d..adf9bfc 100644
--- a/extended/test_powercycle_loop.robot
+++ b/extended/test_powercycle_loop.robot
@@ -7,6 +7,7 @@
 Resource        ../lib/utils.robot
 Resource        ../lib/openbmc_ffdc.robot
 Resource        ../lib/state_manager.robot
+Resource        ../lib/boot_utils.robot
 
 Test Teardown   Test Exit Logs
 
@@ -26,9 +27,19 @@
     Repeat Keyword  ${LOOP_COUNT} times  Power Cycle System Via PDU
 
 
-Run Multiple Reboot
-    [Documentation]  Execute multiple reboots.
-    [Tags]  Run_Multiple_Reboot
+Run Multiple BMC Reset Via REST
+    [Documentation]  Execute multiple reboots via REST.
+    [Tags]  Run_Multiple_BMC_Reset_Via_REST
+
+    # By default run test for 50 loops, else user input iteration.
+    # Fails immediately if any of the execution rounds fail and
+    # check if BMC is still pinging and FFDC is collected.
+    Repeat Keyword  ${LOOP_COUNT} times  BMC REST Reset Cycle
+
+
+Run Multiple BMC Reset Via Reboot
+    [Documentation]  Execute multiple reboots via "reboot" command.
+    [Tags]  Run_Multiple_BMC_Reset_Via_Reboot
 
     # By default run test for 50 loops, else user input iteration.
     # Fails immediately if any of the execution rounds fail and
@@ -47,8 +58,8 @@
     Wait Until Keyword Succeeds  10 min  10 sec  Is BMC Ready
 
 
-BMC Reboot Cycle
-    [Documentation]  Reboot BMC and wait for ready state.
+BMC REST Reset Cycle
+    [Documentation]  Reset BMC via REST and wait for ready state.
     Log  "Doing Reboot cycle"
     ${bmc_version_before}=  Get BMC Version
     Initiate BMC Reboot
@@ -57,6 +68,15 @@
     Should Be Equal  ${bmc_version_before}  ${bmc_version_after}
 
 
+BMC Reboot Cycle
+    [Documentation]  Reboot BMC and wait for ready state.
+    Log  "Doing Reboot cycle"
+    ${bmc_version_before}=  Get BMC Version
+    OBMC Reboot (off)  stack_mode=normal
+    ${bmc_version_after}=  Get BMC Version
+    Should Be Equal  ${bmc_version_before}  ${bmc_version_after}
+
+
 Test Exit Logs
     Ping Host  ${OPENBMC_HOST}
     FFDC On Test Case Fail
diff --git a/test_lists/skip_test_extended b/test_lists/skip_test_extended
index 19913fa..6bf5a72 100644
--- a/test_lists/skip_test_extended
+++ b/test_lists/skip_test_extended
@@ -20,7 +20,8 @@
 -e Network_Nping
 # Multiple runs only needed for stability.
 -e Run_Multiple_Power_Cycle
--e Run_Multiple_Reboot
+-e Run_Multiple_BMC_Reset_Via_REST
+-e Run_Multiple_BMC_Reset_Via_Reboot
 -e General_boot_testing
 -e SLP_Service_Test
 -e Check_Network_Latency