-#!/usr/bin/env python
+#!/usr/bin/env python3
from __future__ import print_function
import gc
testclass.vpp_stdout_deque.extend(split[:limit])
if not testclass.cache_vpp_output:
for line in split[:limit]:
- testclass.logger.debug(
+ testclass.logger.info(
"VPP STDOUT: %s" % line.rstrip("\n"))
if testclass.vpp.stderr.fileno() in readable:
read = os.read(testclass.vpp.stderr.fileno(), 102400)
testclass.vpp_stderr_deque.extend(split[:limit])
if not testclass.cache_vpp_output:
for line in split[:limit]:
- testclass.logger.debug(
+ testclass.logger.error(
"VPP STDERR: %s" % line.rstrip("\n"))
# ignoring the dummy pipe here intentionally - the
# flag will take care of properly terminating the loop
extra_vpp_punt_config = []
extra_vpp_plugin_config = []
+ vapi_response_timeout = 5
@property
def packet_infos(self):
cls.logger.critical("Couldn't stat : {}".format(cls.stats_sock))
@classmethod
- def wait_for_coredump(cls, corefile, wait_time=60):
- cls.vpp.send_signal(signal.SIGQUIT)
+ def wait_for_coredump(cls):
+ corefile = cls.tempdir + "/core"
if os.path.isfile(corefile):
- cls.logger.error("Waiting %s sec. for coredump to complete: %s",
- (wait_time, corefile))
+ cls.logger.error("Waiting for coredump to complete: %s", corefile)
curr_size = os.path.getsize(corefile)
- deadline = time.time() + wait_time
+ deadline = time.time() + 60
ok = False
while time.time() < deadline:
cls.sleep(1)
"""
super(VppTestCase, cls).setUpClass()
gc.collect() # run garbage collection first
- random.seed()
cls.logger = get_logger(cls.__name__)
+ seed = os.environ["RND_SEED"]
+ random.seed(seed)
if hasattr(cls, 'parallel_handler'):
cls.logger.addHandler(cls.parallel_handler)
cls.logger.propagate = False
os.chdir(cls.tempdir)
cls.logger.info("Temporary dir is %s, shm prefix is %s",
cls.tempdir, cls.shm_prefix)
+ cls.logger.debug("Random seed is %s" % seed)
cls.setUpConstants()
cls.reset_packet_infos()
cls._captures = []
cls.pump_thread.daemon = True
cls.pump_thread.start()
if cls.debug_gdb or cls.debug_gdbserver:
- read_timeout = 0
- else:
- read_timeout = 5
+ cls.vapi_response_timeout = 0
cls.vapi = VppPapiProvider(cls.shm_prefix, cls.shm_prefix, cls,
- read_timeout)
+ cls.vapi_response_timeout)
if cls.step:
hook = hookmodule.StepHook(cls)
else:
cls.logger.debug("Waiting for pump thread to stop")
cls.pump_thread.join()
if hasattr(cls, 'vpp_stderr_reader_thread'):
- cls.logger.debug("Waiting for stderr pump to stop")
+ cls.logger.debug("Waiting for stdderr pump to stop")
cls.vpp_stderr_reader_thread.join()
if hasattr(cls, 'vpp'):
del cls.vapi
cls.vpp.poll()
if cls.vpp.returncode is None:
- cls.wait_for_coredump(cls.tempdir + "/core", wait_time=60)
+ cls.wait_for_coredump()
cls.logger.debug("Sending TERM to vpp")
cls.vpp.terminate()
cls.logger.debug("Waiting for vpp to die")