BMC multiple version code update
Change-Id: I6e94e1b461220125d26c0a3666fd25d73d398591
Signed-off-by: George Keishing <gkeishin@in.ibm.com>
diff --git a/extended/code_update/bmc_multi_code_update.robot b/extended/code_update/bmc_multi_code_update.robot
new file mode 100644
index 0000000..4d909e6
--- /dev/null
+++ b/extended/code_update/bmc_multi_code_update.robot
@@ -0,0 +1,61 @@
+*** Settings ***
+Documentation Verify that the BMC boots between code updates of different
+... BMC version. Verify with N, the current version, downgrade
+... and verify with N-1, update and verify N again, and finally
+... update and verify with N+1.
+
+Library ../../lib/code_update_utils.py
+Library ../../lib/gen_robot_valid.py
+Variables ../../data/variables.py
+Resource ../../lib/boot_utils.robot
+Resource ../../lib/code_update_utils.robot
+Resource ../../lib/openbmc_ffdc.robot
+
+Suite Setup Suite Setup Execution
+
+Test Teardown FFDC On Test Case Fail
+
+*** Variables ***
+
+${QUIET} ${1}
+${IMAGE_FILE_PATH} ${EMPTY}
+${N_MINUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
+${N_PLUS_ONE_IMAGE_FILE_PATH} ${EMPTY}
+${SKIP_UPDATE_IF_ACTIVE} false
+
+*** Test Cases ***
+
+BMC Multi Code Update
+ [Documentation] Do four code updates in a row. Update to N, N-1, N, and
+ ... then N+1.
+ [Tags] BMC_Multi_Code_Update
+ [Template] Code Update And Reboot BMC
+
+ # Image File Path
+ ${IMAGE_FILE_PATH}
+ ${N_MINUS_ONE_IMAGE_FILE_PATH}
+ ${IMAGE_FILE_PATH}
+ ${N_PLUS_ONE_IMAGE_FILE_PATH}
+
+
+*** Keywords ***
+
+Suite Setup Execution
+ [Documentation] Do test suite setup tasks.
+
+ Rvalid Value IMAGE_FILE_PATH
+ Rvalid Value N_MINUS_ONE_IMAGE_FILE_PATH
+ Rvalid Value N_PLUS_ONE_IMAGE_FILE_PATH
+
+
+Code Update And Reboot BMC
+ [Documentation] Update the given image, and then verify update.
+ [Arguments] ${image_file_path}
+
+ # Description of argument(s):
+ # image_file_path Path to the bmc image file.
+
+ Upload And Activate Image ${image_file_path}
+ ... skip_if_active=${SKIP_UPDATE_IF_ACTIVE}
+ OBMC Reboot (off) stack_mode=normal
+ Verify Running BMC Image ${image_file_path}
diff --git a/test_lists/skip_test_extended b/test_lists/skip_test_extended
index 079ec57..6580067 100644
--- a/test_lists/skip_test_extended
+++ b/test_lists/skip_test_extended
@@ -8,6 +8,7 @@
-e Host_Code_Update
-e BMC_Update_Recoverable_Error
-e Host_Update_Recoverable_Error
+-e BMC_Multi_Code_Update
-e Host_Multi_Code_Update
-e Enable_Field_Mode
-e Attempt_To_Disable_Field_Mode_Via_REST