Allow printing playbook output to console
[functest-xtesting.git] / xtesting / core / mts.py
index 0c861e9..d6865a6 100644 (file)
@@ -18,6 +18,7 @@ helpers to run any python method or any bash command.
 import csv
 import logging
 import os
+import shutil
 import subprocess
 import sys
 import time
@@ -39,6 +40,14 @@ class MTSLauncher(testcase.TestCase):
     __logger = logging.getLogger(__name__)
     mts_install_dir = "/opt/mts"
 
+    def check_requirements(self):
+        """Check if startCmd.sh is in /opt/mts/bin"""
+        if not os.path.exists(
+                os.path.join(self.mts_install_dir, 'bin/startCmd.sh')):
+            self.__logger.warning(
+                "mts is not available for arm for the time being")
+            self.is_skipped = True
+
     def __init__(self, **kwargs):
         super(MTSLauncher, self).__init__(**kwargs)
         self.result_file = "{}/{}.log".format(self.res_dir, self.case_name)
@@ -148,7 +157,7 @@ class MTSLauncher(testcase.TestCase):
         """Make sure that all required MTS test cases exist
         in the XML test file.
         """
-        if len(enabled_testcases) > 0:
+        if enabled_testcases:
             # Verify if the MTS test case exists in the whole list of test
             # cases declared in the test XML file
             for enabled_testcase in enabled_testcases:
@@ -188,7 +197,7 @@ class MTSLauncher(testcase.TestCase):
             enabled_testcases = kwargs[
                 "testcases"] if "testcases" in kwargs else []
             enabled_testcases_str = ''
-            if len(enabled_testcases) > 0:
+            if enabled_testcases:
                 enabled_testcases_str = ' '.join(enabled_testcases)
                 check_ok = self.check_enabled_mts_test_cases(enabled_testcases)
                 if not check_ok:
@@ -209,10 +218,18 @@ class MTSLauncher(testcase.TestCase):
                                              self.mts_logs_dir)
 
             # Make sure to create the necessary output sub-folders for MTS
-            if not os.path.isdir(self.mts_stats_dir):
-                os.makedirs(self.mts_stats_dir)
-            if not os.path.isdir(self.mts_logs_dir):
-                os.makedirs(self.mts_logs_dir)
+            # and cleanup output files from previous run.
+            if os.path.exists(self.mts_result_csv_file):
+                os.remove(self.mts_result_csv_file)
+
+            if os.path.isdir(self.mts_stats_dir):
+                shutil.rmtree(self.mts_stats_dir)
+            os.makedirs(self.mts_stats_dir)
+
+            if os.path.isdir(self.mts_logs_dir):
+                shutil.rmtree(self.mts_logs_dir)
+            os.makedirs(self.mts_logs_dir)
+
             self.__logger.info(
                 "MTS statistics output dir: %s ", self.mts_stats_dir)
             self.__logger.info("MTS logs output dir: %s ", self.mts_logs_dir)