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
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[
import yaml
import requests
import time
+import os
import copy
from past.utils import old_div
from rapid_log import RapidLog
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
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
"""
RapidTestManager Class
"""
+ def __init__(self):
+ """
+ Init Function
+ """
+ self.machines = []
+
def __del__(self):
for machine in self.machines:
machine.close_prox()
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():
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()
packages = .
package_dir = .
+[options.data_files]
+. = format.yaml
+
[entry_points]
xtesting.testcase =
rapidxt = rapidxt:RapidXt