From 152a9b6165c640bd551447e87a68132709864b67 Mon Sep 17 00:00:00 2001 From: Klement Sekera Date: Fri, 13 May 2022 18:01:36 +0200 Subject: tests: fix default failed dir setting When running tests via run.sh, default setting of None would cause failed directory symlink to appear in vpp workspace with an ugly name. This patch places the symlink in temporary directory. Type: fix Fixes: b23ffd7ef216463c35b75c831e6a27e58971f4ec Signed-off-by: Klement Sekera Change-Id: Ic1715eba7ac1f82f71855e2aeb9b659d27bbb3af --- test/config.py | 9 +++++---- test/run_tests.py | 6 ++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/test/config.py b/test/config.py index c99d1ca66a6..b94dbcb10d7 100644 --- a/test/config.py +++ b/test/config.py @@ -1,7 +1,6 @@ import argparse import os import psutil -import textwrap import time @@ -119,7 +118,7 @@ parser.add_argument( "--failed-dir", action="store", type=directory, - help="directory containing failed tests", + help="directory containing failed tests (default: --tmp-dir)", ) filter_help_string = """\ @@ -357,8 +356,7 @@ parser.add_argument( "--keep-pcaps", action="store_true", default=default_keep_pcaps, - help="if set, keep all pcap files from a test run" - f" (default: {default_keep_pcaps})", + help=f"if set, keep all pcap files from a test run (default: {default_keep_pcaps})", ) config = parser.parse_args() @@ -399,6 +397,9 @@ config.test_src_dir = test_dirs if config.venv_dir is None: config.venv_dir = f"{ws}/test/venv" +if config.failed_dir is None: + config.failed_dir = f"{config.tmp_dir}" + available_cpus = psutil.Process().cpu_affinity() num_cpus = len(available_cpus) diff --git a/test/run_tests.py b/test/run_tests.py index 5df37efba6b..917e0dc0057 100644 --- a/test/run_tests.py +++ b/test/run_tests.py @@ -5,7 +5,6 @@ import shutil import os import fnmatch import unittest -import argparse import time import threading import traceback @@ -14,7 +13,6 @@ import re from multiprocessing import Process, Pipe, get_context from multiprocessing.queues import Queue from multiprocessing.managers import BaseManager -import framework from config import config, num_cpus, available_cpus, max_vpp_cpus from framework import ( VppTestRunner, @@ -28,7 +26,7 @@ from framework import ( TEST_RUN, SKIP_CPU_SHORTAGE, ) -from debug import spawn_gdb, start_vpp_in_gdb +from debug import spawn_gdb from log import ( get_parallel_logger, double_line_delim, @@ -269,7 +267,7 @@ 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) - link_path = "%s%s-FAILED" % (config.failed_dir, lttd) + link_path = os.path.join(config.failed_dir, f"{lttd}-FAILED") if not os.path.exists(link_path): os.symlink(last_test_temp_dir, link_path) logger.error( -- cgit 1.2.3-korg