Changes from ViNePerf 77/72777/4
authorSridhar K. N. Rao <sridhar.rao@spirent.com>
Mon, 19 Jul 2021 12:26:44 +0000 (17:56 +0530)
committerLuc Provoost <luc.provoost@intel.com>
Mon, 6 Sep 2021 08:43:47 +0000 (08:43 +0000)
This patch adds changes to support using rapid to run tests only.

1. Fix format.yaml path. Add format.yaml as datafile in setup.cfg
2. Do not call generate lua if starting prox is not required.
3. Move logs to results directory - if present
4. Machines should not be used in del, if not created.

Fix syntax error.

Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Change-Id: I580716573d0be2a8da02035f4d180e81b63b3fc8

VNFs/DPPD-PROX/helper-scripts/rapid/rapid_machine.py
VNFs/DPPD-PROX/helper-scripts/rapid/rapid_test.py
VNFs/DPPD-PROX/helper-scripts/rapid/runrapid.py
VNFs/DPPD-PROX/helper-scripts/rapid/setup.cfg

index c4b7247..e46e46e 100644 (file)
@@ -197,18 +197,18 @@ class RapidMachine(object):
                 self.remap_all_cpus()
             _, prox_config_file_name = os.path.split(self.
                     machine_params['config_file'])
-            self.generate_lua()
-            self._client.scp_put(self.machine_params['config_file'], '{}/{}'.
-                    format(self.rundir, prox_config_file_name))
-            if ((not self.configonly) and
-                    self.machine_params['prox_launch_exit']):
-                cmd = 'sudo {}/prox {} -t -o cli -f {}/{}'.format(self.rundir,
-                        autostart, self.rundir, prox_config_file_name)
-                RapidLog.debug("Starting PROX on {}: {}".format(self.name,
-                    cmd))
-                result = self._client.run_cmd(cmd)
-                RapidLog.debug("Finished PROX on {}: {}".format(self.name,
-                    cmd))
+            if self.machine_params['prox_launch_exit']:
+                self.generate_lua()
+                self._client.scp_put(self.machine_params['config_file'], '{}/{}'.
+                        format(self.rundir, prox_config_file_name))
+                if not self.configonly:
+                    cmd = 'sudo {}/prox {} -t -o cli -f {}/{}'.format(self.rundir,
+                            autostart, self.rundir, prox_config_file_name)
+                    RapidLog.debug("Starting PROX on {}: {}".format(self.name,
+                        cmd))
+                    result = self._client.run_cmd(cmd)
+                    RapidLog.debug("Finished PROX on {}: {}".format(self.name,
+                        cmd))
 
     def close_prox(self):
         if (not self.configonly) and self.machine_params[
index 16cf919..7357a6e 100644 (file)
@@ -20,6 +20,7 @@
 import yaml
 import requests
 import time
+import os
 import copy
 from past.utils import old_div
 from rapid_log import RapidLog
@@ -27,6 +28,8 @@ from rapid_log import bcolors
 inf = float("inf")
 from datetime import datetime as dt
 
+_CURR_DIR = os.path.dirname(os.path.realpath(__file__))
+
 class RapidTest(object):
     """
     Class to manage the testing
@@ -40,7 +43,7 @@ class RapidTest(object):
             self.test['maxr'] = 1
         if 'maxz' not in self.test.keys():
             self.test['maxz'] = inf
-        with open('format.yaml') as f:
+        with open(os.path.join(_CURR_DIR,'format.yaml')) as f:
             self.data_format = yaml.load(f, Loader=yaml.FullLoader)
 
     @staticmethod
index f3d489d..e4055cc 100755 (executable)
@@ -43,6 +43,12 @@ class RapidTestManager(object):
     """
     RapidTestManager Class
     """
+    def __init__(self):
+        """
+        Init Function
+        """
+        self.machines = []
+
     def __del__(self):
         for machine in self.machines:
             machine.close_prox()
@@ -57,7 +63,6 @@ class RapidTestManager(object):
         monitor_gen = monitor_sut = False
         background_machines = []
         sut_machine = gen_machine = None
-        self.machines = []
         configonly = test_params['configonly']
         for machine_params in test_params['machines']:
             if 'gencores' in machine_params.keys():
@@ -168,7 +173,12 @@ def main():
     test_params = RapidCli.process_cli(test_params)
     _, test_file_name = os.path.split(test_params['test_file'])
     _, environment_file_name = os.path.split(test_params['environment_file'])
-    log_file = 'RUN{}.{}.log'.format(environment_file_name, test_file_name)
+    if 'resultsdir' in test_params:
+        res_dir = test_params['resultsdir']
+        log_file = '{}/RUN{}.{}.log'.format(res_dir,environment_file_name,
+                test_file_name)
+    else:
+        log_file = 'RUN{}.{}.log'.format(environment_file_name, test_file_name)
     RapidLog.log_init(log_file, test_params['loglevel'],
             test_params['screenloglevel'] , test_params['version']  )
     test_manager = RapidTestManager()
index 2f9542e..bac49bd 100644 (file)
@@ -6,6 +6,9 @@ version = 1
 packages = .
 package_dir = .
 
+[options.data_files]
+. = format.yaml
+
 [entry_points]
 xtesting.testcase =
     rapidxt = rapidxt:RapidXt