Cleanup leftover code from BMC systems
This commit removes any leftover code from BMC system before
releasing the machine on AES.
Change-Id: Idc75a5e4741c0a6cb5f32b8c58ffe7ff502d4a73
Signed-off-by: Sunil M <sunilmam@us.ibm.com>
diff --git a/tools/cleanup_bmc.robot b/tools/cleanup_bmc.robot
new file mode 100644
index 0000000..02f0d9e
--- /dev/null
+++ b/tools/cleanup_bmc.robot
@@ -0,0 +1,51 @@
+*** Settings ***
+Documentation Cleanup user patches from BMC.
+
+Library ../lib/gen_robot_keyword.py
+Resource ../lib/utils.robot
+Resource ../extended/obmc_boot_test_resource.robot
+
+*** Variables ***
+
+# User defined path to cleanup.
+${CLEANUP_DIR_PATH} ${EMPTY}
+# List that holds space separated filepaths to skip from cleanup.
+${SKIP_LIST} ${EMPTY}
+# Number of files before cleanup.
+${file_count1}
+
+*** Test Cases ***
+
+Cleanup User Patches
+ [Documentation] Do the cleanup in cleanup directory path.
+
+ Should Not Be Empty ${CLEANUP_DIR_PATH}
+ Open Connection And Log In
+ Remove Files
+
+*** Keywords ***
+
+Remove Files
+ [Documentation] Remove leftover files in cleanup directory path.
+
+ Should Not Be Empty ${SKIP_LIST}
+ @{skip_list}= Set Variable ${SKIP_LIST.split()}
+ ${skip_list_string}= Set Variable ${EMPTY}
+ :FOR ${file} IN @{skip_list}
+ \ ${skip_list_string}= Set Variable ${skip_list_string} ! -path "${file}"
+
+ ${file_count1}= Execute Command On BMC find ${CLEANUP_DIR_PATH} | wc -l
+ Set Global Variable ${file_count1}
+ Write find ${CLEANUP_DIR_PATH} \\( ${skip_list_string} \\) | xargs rm
+ Write find ${CLEANUP_DIR_PATH} \\( ${skip_list_string} \\) | xargs rmdir
+ ${file_count2}= Execute Command On BMC find ${CLEANUP_DIR_PATH} | wc -l
+
+ Run Keyword If ${file_count2} < ${file_count1}
+ ... Reboot And Verify
+
+Reboot And Verify
+ [Documentation] Reboot BMC and verify cleanup.
+
+ Run Key U OBMC Boot Test \ OBMC Reboot (off)
+ ${file_count2}= Execute Command On BMC find ${CLEANUP_DIR_PATH} | wc -l
+ Should Be True ${file_count2} < ${file_count1}