X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=test%2Fframework.py;h=2167399b122ef6d4f5c58d5d538f689b0d5d4d76;hb=4c53313;hp=c303bf9df7185ded4bb6478631d6076dc8cb1f45;hpb=de0203edd2177f627cc655b52ffdf921d94d5d26;p=vpp.git diff --git a/test/framework.py b/test/framework.py index c303bf9df71..2167399b122 100644 --- a/test/framework.py +++ b/test/framework.py @@ -8,9 +8,9 @@ import select import unittest import tempfile import time -import resource import faulthandler import random +import copy from collections import deque from threading import Thread, Event from inspect import getdoc, isclass @@ -22,9 +22,9 @@ from vpp_pg_interface import VppPGInterface from vpp_sub_interface import VppSubInterface from vpp_lo_interface import VppLoInterface from vpp_papi_provider import VppPapiProvider -from log import * +from log import RED, GREEN, YELLOW, double_line_delim, single_line_delim, \ + getLogger, colorize from vpp_object import VppObjectRegistry -from vpp_punt_socket import vpp_uds_socket_name if os.name == 'posix' and sys.version_info[0] < 3: # using subprocess32 is recommended by python official documentation # @ https://docs.python.org/2/library/subprocess.html @@ -262,8 +262,7 @@ class VppTestCase(unittest.TestCase): coredump_size, "}", "api-trace", "{", "on", "}", "api-segment", "{", "prefix", cls.shm_prefix, "}", "plugins", "{", "plugin", "dpdk_plugin.so", "{", - "disable", "}", "}", - "punt", "{", "socket", cls.punt_socket_path, "}"] + "disable", "}", "}", ] if plugin_path is not None: cls.vpp_cmdline.extend(["plugin_path", plugin_path]) cls.logger.info("vpp_cmdline: %s" % cls.vpp_cmdline) @@ -336,7 +335,6 @@ class VppTestCase(unittest.TestCase): cls.file_handler.setLevel(DEBUG) cls.logger.addHandler(cls.file_handler) cls.shm_prefix = cls.tempdir.split("/")[-1] - cls.punt_socket_path = '%s/%s' % (cls.tempdir, vpp_uds_socket_name) os.chdir(cls.tempdir) cls.logger.info("Temporary dir is %s, shm prefix is %s", cls.tempdir, cls.shm_prefix) @@ -379,6 +377,10 @@ class VppTestCase(unittest.TestCase): try: cls.vapi.connect() except: + try: + cls.vapi.disconnect() + except: + pass if cls.debug_gdbserver: print(colorize("You're running VPP inside gdbserver but " "VPP-API connection failed, did you forget " @@ -390,7 +392,7 @@ class VppTestCase(unittest.TestCase): cls.quit() except: pass - raise t, v, tb + raise (t, v, tb) @classmethod def quit(cls): @@ -1085,7 +1087,7 @@ class VppTestRunner(unittest.TextTestRunner): for t in tests: if isinstance(t, unittest.suite.TestSuite): # this is a bunch of tests, recursively filter... - x = filter_tests(t, filter_cb) + x = VppTestRunner.filter_tests(t, filter_cb) if x.countTestCases() > 0: result.addTest(x) elif isinstance(t, unittest.TestCase): @@ -1126,11 +1128,11 @@ class VppTestRunner(unittest.TextTestRunner): class Worker(Thread): - def __init__(self, args, logger): + def __init__(self, args, logger, env={}): self.logger = logger self.args = args self.result = None - self.env = {} + self.env = copy.deepcopy(env) super(Worker, self).__init__() def run(self):