VAT-to-PAPI: Fix HTTP/TCP tests
[csit.git] / resources / libraries / python / VatExecutor.py
index c13e990..1d0a213 100644 (file)
@@ -74,7 +74,7 @@ class VatExecutor(object):
         self._script_name = None
 
     def execute_script(self, vat_name, node, timeout=120, json_out=True,
         self._script_name = None
 
     def execute_script(self, vat_name, node, timeout=120, json_out=True,
-                       copy_on_execute=False):
+                       copy_on_execute=False, history=True):
         """Execute VAT script on remote node, and store the result. There is an
         option to copy script from local host to remote host before execution.
         Path is defined automatically.
         """Execute VAT script on remote node, and store the result. There is an
         option to copy script from local host to remote host before execution.
         Path is defined automatically.
@@ -87,11 +87,13 @@ class VatExecutor(object):
         :param json_out: Require JSON output.
         :param copy_on_execute: If true, copy the file from local host to remote
             before executing.
         :param json_out: Require JSON output.
         :param copy_on_execute: If true, copy the file from local host to remote
             before executing.
+        :param history: If true, add command to history.
         :type vat_name: str
         :type node: dict
         :type timeout: int
         :type json_out: bool
         :type copy_on_execute: bool
         :type vat_name: str
         :type node: dict
         :type timeout: int
         :type json_out: bool
         :type copy_on_execute: bool
+        :type history: bool
         :raises SSHException: If cannot open connection for VAT.
         :raises SSHTimeout: If VAT execution is timed out.
         :raises RuntimeError: If VAT script execution fails.
         :raises SSHException: If cannot open connection for VAT.
         :raises SSHTimeout: If VAT execution is timed out.
         :raises RuntimeError: If VAT script execution fails.
@@ -107,11 +109,12 @@ class VatExecutor(object):
         if copy_on_execute:
             ssh.scp(vat_name, vat_name)
             remote_file_path = vat_name
         if copy_on_execute:
             ssh.scp(vat_name, vat_name)
             remote_file_path = vat_name
-            with open(vat_name, 'r') as vat_file:
-                for line in vat_file:
-                    PapiHistory.add_to_papi_history(node,
-                                                    line.replace('\n', ''),
-                                                    papi=False)
+            if history:
+                with open(vat_name, 'r') as vat_file:
+                    for line in vat_file:
+                        PapiHistory.add_to_papi_history(node,
+                                                        line.replace('\n', ''),
+                                                        papi=False)
         else:
             remote_file_path = '{0}/{1}/{2}'.format(Constants.REMOTE_FW_DIR,
                                                     Constants.RESOURCES_TPL_VAT,
         else:
             remote_file_path = '{0}/{1}/{2}'.format(Constants.REMOTE_FW_DIR,
                                                     Constants.RESOURCES_TPL_VAT,
@@ -249,7 +252,7 @@ class VatTerminal(object):
                     self._tty,
                     'sudo -S {0}{1}'.format(Constants.VAT_BIN_NAME, json_text),
                     self.__VAT_PROMPT)
                     self._tty,
                     'sudo -S {0}{1}'.format(Constants.VAT_BIN_NAME, json_text),
                     self.__VAT_PROMPT)
-            except Exception:
+            except Exception:  #pylint: disable=broad-except
                 continue
             else:
                 break
                 continue
             else:
                 break
@@ -303,10 +306,9 @@ class VatTerminal(object):
                     raise RuntimeError("More instances of VPP running on node "
                                        "{0}. VAT command {1} execution failed.".
                                        format(self._node['host'], cmd))
                     raise RuntimeError("More instances of VPP running on node "
                                        "{0}. VAT command {1} execution failed.".
                                        format(self._node['host'], cmd))
-            else:
-                raise RuntimeError("VPP not running on node {0}. VAT command "
-                                   "{1} execution failed.".
-                                   format(self._node['host'], cmd))
+            raise RuntimeError("VPP not running on node {0}. VAT command "
+                               "{1} execution failed.".
+                               format(self._node['host'], cmd))
 
         logger.debug("VAT output: {0}".format(out))
         if self.json:
 
         logger.debug("VAT output: {0}".format(out))
         if self.json: