tests: fix core file message
Prevent crashing on nonexistent VPP binary path class member when creating testsuite core message. Type: fix Fixes: b23ffd7ef216463c35b75c831e6a27e58971f4ec Signed-off-by: Dmitry Valter <d-valter@yandex-team.ru> Change-Id: Ib9b3dc8c69317e6561e5404bbdcbf672e417cbcd
This commit is contained in:

committed by
Damjan Marion

parent
30bb344ab6
commit
3ace4d62e2
@ -6,6 +6,7 @@ from subprocess import check_output, CalledProcessError
|
||||
|
||||
import scapy.compat
|
||||
import framework
|
||||
from config import config
|
||||
from log import RED, single_line_delim, double_line_delim
|
||||
from util import check_core_path, get_core_path
|
||||
|
||||
@ -79,7 +80,7 @@ class PollHook(Hook):
|
||||
|
||||
def on_crash(self, core_path):
|
||||
self.logger.error("Core file present, debug with: gdb %s %s",
|
||||
self.test.vpp_bin, core_path)
|
||||
config.vpp, core_path)
|
||||
check_core_path(self.logger, core_path)
|
||||
self.logger.error("Running `file %s':", core_path)
|
||||
try:
|
||||
|
@ -239,7 +239,7 @@ def stdouterr_reader_wrapper(unread_testcases, finished_unread_testcases,
|
||||
read_testcase = None
|
||||
|
||||
|
||||
def handle_failed_suite(logger, last_test_temp_dir, vpp_pid):
|
||||
def handle_failed_suite(logger, last_test_temp_dir, vpp_pid, vpp_binary):
|
||||
if last_test_temp_dir:
|
||||
# Need to create link in case of a timeout or core dump without failure
|
||||
lttd = os.path.basename(last_test_temp_dir)
|
||||
@ -273,7 +273,7 @@ def handle_failed_suite(logger, last_test_temp_dir, vpp_pid):
|
||||
except Exception as e:
|
||||
logger.exception("Unexpected error running `file' utility "
|
||||
"on core-file")
|
||||
logger.error(f"gdb {config.vpp_bin} {core_path}")
|
||||
logger.error(f"gdb {vpp_binary} {core_path}")
|
||||
|
||||
if vpp_pid:
|
||||
# Copy api post mortem
|
||||
@ -319,7 +319,8 @@ def process_finished_testsuite(wrapped_testcase_suite,
|
||||
failed_wrapped_testcases.add(wrapped_testcase_suite)
|
||||
handle_failed_suite(wrapped_testcase_suite.logger,
|
||||
wrapped_testcase_suite.last_test_temp_dir,
|
||||
wrapped_testcase_suite.vpp_pid)
|
||||
wrapped_testcase_suite.vpp_pid,
|
||||
wrapped_testcase_suite.last_test_vpp_binary,)
|
||||
|
||||
return stop_run
|
||||
|
||||
|
@ -187,7 +187,7 @@ class TestVlib(VppTestCase):
|
||||
def test_vlib_main_unittest(self):
|
||||
""" Private Binary API Segment Test (takes 70 seconds) """
|
||||
|
||||
vat_path = self.vpp_bin + '_api_test'
|
||||
vat_path = config.vpp + '_api_test'
|
||||
vat = pexpect.spawn(vat_path, ['socket-name',
|
||||
self.get_api_sock_path()])
|
||||
vat.expect("vat# ", timeout=10)
|
||||
|
Reference in New Issue
Block a user