tests: add sending SIGQUIT to vpp quit sequence

As suggested in the docs by:
https://fd.io/docs/vpp/master/usecases/contiv/core_files#let-vpp-crash

Type: test

Change-Id: I10caf16220e2507351636c1b26e57e19bcf8a542
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
This commit is contained in:
Paul Vinciguerra
2019-10-27 14:08:09 -04:00
committed by Dave Wallace
parent 5b755e2f9f
commit 4465fe1e30

View File

@@ -474,12 +474,13 @@ class VppTestCase(unittest.TestCase):
cls.logger.critical("Couldn't stat : {}".format(cls.stats_sock))
@classmethod
def wait_for_coredump(cls):
corefile = cls.tempdir + "/core"
def wait_for_coredump(cls, corefile, wait_time=60):
cls.vpp.send_signal(signal.SIGQUIT)
if os.path.isfile(corefile):
cls.logger.error("Waiting for coredump to complete: %s", corefile)
cls.logger.error("Waiting %s sec. for coredump to complete: %s",
(wait_time, corefile))
curr_size = os.path.getsize(corefile)
deadline = time.time() + 60
deadline = time.time() + wait_time
ok = False
while time.time() < deadline:
cls.sleep(1)
@@ -610,7 +611,7 @@ class VppTestCase(unittest.TestCase):
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 stdderr pump to stop")
cls.logger.debug("Waiting for stderr pump to stop")
cls.vpp_stderr_reader_thread.join()
if hasattr(cls, 'vpp'):
@@ -623,7 +624,7 @@ class VppTestCase(unittest.TestCase):
del cls.vapi
cls.vpp.poll()
if cls.vpp.returncode is None:
cls.wait_for_coredump()
cls.wait_for_coredump(cls.tempdir + "/core", wait_time=60)
cls.logger.debug("Sending TERM to vpp")
cls.vpp.terminate()
cls.logger.debug("Waiting for vpp to die")