Add changes to BMC cleanup module
This commit adds minor changes to BMC cleanup module and moves the
keywords to a new file lib/bmc_cleanup.robot. This helps to import
lib/bmc_cleanup.robot and use these keywords wherever necessary.
Change-Id: I138548a8118a44ad33ec7789aaa55e1a333c744b
Signed-off-by: Sunil M <sunilmam@us.ibm.com>
diff --git a/lib/bmc_cleanup.robot b/lib/bmc_cleanup.robot
new file mode 100644
index 0000000..909e57a
--- /dev/null
+++ b/lib/bmc_cleanup.robot
@@ -0,0 +1,51 @@
+*** Settings ***
+Resource ../lib/utils.robot
+Resource ../lib/connection_client.robot
+Resource ../lib/boot_utils.robot
+
+*** Variables ***
+# User defined path to do the cleanup.
+${CLEANUP_DIR_PATH} ${EMPTY}
+# List that holds space separated filepaths to skip from cleanup.
+${SKIP_LIST} ${EMPTY}
+
+*** Keywords ***
+
+###############################################################################
+
+Cleanup Dir
+ [Documentation] Remove leftover files in cleanup directory path.
+ [Arguments] ${cleanup_dir_path}=${CLEANUP_DIR_PATH}
+ ... ${skip_list}=${SKIP_LIST}
+
+ # Description of argument(s):
+ # cleanup_dir_path Directory path to do the cleanup.
+ # skip_list List of files to skip from cleanup.
+
+ Should Not Be Empty ${cleanup_dir_path}
+ Should Not Be Empty ${SKIP_LIST}
+ Open Connection And Log In
+ @{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.
+ [Arguments] ${cleanup_dir_path}=${CLEANUP_DIR_PATH}
+
+ # Description of argument(s):
+ # cleanup_dir_path Directory path to do the cleanup.
+
+ OBMC Reboot (off)
+ ${file_count2}= Execute Command On BMC find ${cleanup_dir_path} | wc -l
+ Should Be True ${file_count2} < ${file_count1}