diff options
-rw-r--r-- | framework/dts.py | 17 | ||||
-rwxr-xr-x | framework/main.py | 2 | ||||
-rw-r--r-- | framework/virt_dut.py | 2 |
3 files changed, 17 insertions, 4 deletions
diff --git a/framework/dts.py b/framework/dts.py index b843f22..c4f4663 100644 --- a/framework/dts.py +++ b/framework/dts.py @@ -38,6 +38,7 @@ import inspect # load attribute import atexit # register callback when exit import json # json format import signal # signal module for debug mode +import time # time module for unique output folder import rst # rst file support from crbs import crbs @@ -74,6 +75,7 @@ functional_only = False nic = None requested_tests = None dut = None +duts = None tester = None result = None excel_report = None @@ -192,11 +194,15 @@ def dts_log_testsuite(test_suite, log_handler, test_classname): """ Change to SUITE self logger handler. """ + global duts test_suite.logger = getLogger(test_classname) test_suite.logger.config_suite(test_classname) log_handler.config_suite(test_classname, 'dts') dut.logger.config_suite(test_classname, 'dut') tester.logger.config_suite(test_classname, 'tester') + if duts and len(duts): + for crb in duts: + crb.logger.config_suite(test_classname, 'virtdut') try: if tester.it_uses_external_generator(): getattr(tester, 'ixia_packet_gen') @@ -212,6 +218,9 @@ def dts_log_execution(log_handler): log_handler.config_execution('dts') dut.logger.config_execution('dut') tester.logger.config_execution('tester') + if duts and len(duts): + for crb in duts: + crb.logger.config_execution('virtdut') try: if tester.it_uses_external_generator(): getattr(tester, 'ixia_packet_gen') @@ -279,8 +288,8 @@ def dts_run_target(crbInst, targets, test_suites, nic, scenario): scene = None if scene: - scene.load_config() - scene.create_scene() + scene.load_config() + scene.create_scene() for target in targets: log_handler.info("\nTARGET " + target) @@ -332,6 +341,7 @@ def dts_run_suite(crbInst, test_suites, target, nic, scene): for test_classname, test_class in get_subclasses(test_module, TestCase): if scene and scene.vm_dut_enable: + global duts duts = scene.get_vm_duts() tester.dut = duts[0] test_suite = test_class(duts[0], tester, target, test_suite) @@ -389,6 +399,9 @@ def run_all(config_file, pkgName, git, patch, skip_setup, Patches = patch # prepare the output folder + if output_dir == '': + output_dir = time.strftime("output/%Y_%m_%d_%H_%M_%S") + if not os.path.exists(output_dir): os.mkdir(output_dir) diff --git a/framework/main.py b/framework/main.py index 6b771a5..69d2318 100755 --- a/framework/main.py +++ b/framework/main.py @@ -84,7 +84,7 @@ parser.add_argument('--snapshot', help='snapshot .tgz file to use as input') parser.add_argument('--output', - default='output', + default='', help='Output directory where dts log and result saved') parser.add_argument('-s', '--skip-setup', diff --git a/framework/virt_dut.py b/framework/virt_dut.py index 2edbf6f..5e4d212 100644 --- a/framework/virt_dut.py +++ b/framework/virt_dut.py @@ -63,7 +63,7 @@ class VirtDut(DPDKdut): # load port config from suite cfg self.suite = suite self.logger = getLogger(self.NAME) - self.logger.config_execution('vmdut') + self.logger.config_suite(suite, 'virtdut') self.session = SSHConnection(self.vm_ip, self.NAME, self.get_password()) self.session.init_log(self.logger) |