From nobody Fri Dec 19 12:29:46 2025 Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0B68D31352E for ; Tue, 4 Nov 2025 22:39:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762295952; cv=none; b=lTcatgOLDB5Cg+QOL3VncaKloLf//ylefS6/1xMliCeFcy7WjEHasqjMvAWQK1blL4pz9sETurY4si+R44SHcS+YqEui0UQLgeCHftcWXH6uSYWbln8ZAkP/a1uSYFdfy9WFrdUzZmOd62n9Pbp5SFd+/fEr3X7fSKR6gFSkcOI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762295952; c=relaxed/simple; bh=d0lXSaAPV1hSCbv4riJfsbPBoHPeUelaGN5Zg0VyKzs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ls/fcbbdXraLaInT+yNtNkWdy2+mr+taH5D5aetl6eRCTj9SEkYOSfOpIP9z4dxijieMdTEwCJ41yPCWs3Xpsy3+PPQZt3RXk+SX9850vG+8H2QMcF7uIInl1d+tp4lJSZqkBZa5fskEOLaEIq0FmmaeKmqRZyOrk1GO2+ZONE4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Tq+IaYBH; arc=none smtp.client-ip=209.85.214.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Tq+IaYBH" Received: by mail-pl1-f170.google.com with SMTP id d9443c01a7336-294fc62d7f4so58395235ad.2 for ; Tue, 04 Nov 2025 14:39:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1762295950; x=1762900750; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=8SCnFxkAKvo4bMRASv7XIHpGepGtL4M3i1ZyZegDajE=; b=Tq+IaYBH1ZvjquGGM6pV2Uxv+rsFwYW4p2GqoKwwitOgI+xMa1/O2vLTYJ6XT8/s1V HFOkXieNN7z7q9GWlRxw07kPuDTYblPzlQdpE5w7G7yB8cCaQBQxLnRVOAx3x6GWOf5R HbeeeQ4IJNAD+X28gpbMphlI/EJCEoxuClVhp4EA11oEaVghVV+dQNgQwt8WKbTljgoi jMyNqZtwqgPpRmj2qXF3jhh4+Vbo/N5K8Qmx+EpEtrdX2kxbKI+KnPjCuw5PnlSsxXd5 MXdAitSt4wC4u4mJYsmiSb4ytUEeujIRXAjUrZqUZhV58Vb/q6AAe4YzwuBdTXpDrSeT z/6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762295950; x=1762900750; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=8SCnFxkAKvo4bMRASv7XIHpGepGtL4M3i1ZyZegDajE=; b=YmDreOdC84LbbVWhk9So6Dvb/AqI3vrz8Cgs4GlxQBlGFbWZgDYmklA5egI1a9Qs62 Q8YftNy4InLjf50FKDwypTs2VCdBq4888XJSSTMic7LCeF55GzvX9cVtZieDEJ0NiFvx /mzVUb5mTdZpGNaAJQjHUJh9dWD1g90IgqQWvGWkvMlOlzQp1+ThbGs0mjyp13MzQ2FD YqN8uCocnNZvJC/umrirC9Ua7hCqc1b4GH/hf/0yas8vz7HFt/MBGmyaCibmKOPJ6EFb zzDiULjYnA+d2xzJKN2N0P4lhhbxkiL21RZcWcBhat5DXsk0sSXLFwMrgzqAgv3WuFDt 5UdA== X-Forwarded-Encrypted: i=1; AJvYcCVdEPJlB+qbnDEJyEv9VT9kKSnj+9FVl18jXi2r4KEQeSwCW1mnpJjEe0pjsgRK/z1Co/BqTQrNwkQGLe4=@vger.kernel.org X-Gm-Message-State: AOJu0YwmWChjZfHvOw2jPLbdDAfJl6ORmpxau4Q9o5yvdl2uKLw/a0qK Qzfd2TIfuPBj7UR7uW8Jk2CYel3apIdt5Mm2ZWHMwFnNwkQmersFtJj+IJoeyw== X-Gm-Gg: ASbGncsV2502B9ZnZ4rhowMWTLkJ1cp9xAU3SNDRYaO0hfLIUUXgxAo+WJEuBGMFGka xyIpk2Crrr6DljcwtHsJQx3pP2dAUXMr9z+fGh68nNAKBxkidoajp/oOd4bOdYMZYo3hRq2cT2W VO5AGoBuQmbKZaT4Y3skzQeJSp0diBM6Ul+PglLwzEJbNJVr27SO1iP8mDZfW+vkl2DkMkGYOwl AwG6UuY3r/x1PfRPR/gvrc5aWiF7FgoIx5Pjq+U60CcK++Q61wHp5WFHbWZnfyNcZ2T/xgPC2yQ Xi2e2WmxzlC1VykotgbjBArADW9UfUoeg6Yvy2WmAf/ywLmaJdz9Cjx+0OnclU+xnbTnrNf8lqz NWwzlFbY7kJaVwlMSzB91RYe+F3AG8WX+EYOpn68UVYyqZCYpNNXcLaWC1iodWS1aToOMm+Gf X-Google-Smtp-Source: AGHT+IFj0ralhxCw9gtXMNxyl9Kpp7b0xZeMtfhdxLBXWpHqRS7iX83xZgLhRxoK9y2BWDEiCj0m4A== X-Received: by 2002:a17:902:d2c6:b0:295:7453:b58b with SMTP id d9443c01a7336-2962adb29cdmr12165085ad.4.1762295950273; Tue, 04 Nov 2025 14:39:10 -0800 (PST) Received: from localhost ([2a03:2880:2ff:1::]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29601a609c8sm38264015ad.92.2025.11.04.14.39.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 04 Nov 2025 14:39:10 -0800 (PST) From: Bobby Eshleman Date: Tue, 04 Nov 2025 14:38:51 -0800 Subject: [PATCH net-next v2 01/12] selftests/vsock: improve logging in vmtest.sh Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20251104-vsock-selftests-fixes-and-improvements-v2-1-ca2070fd1601@meta.com> References: <20251104-vsock-selftests-fixes-and-improvements-v2-0-ca2070fd1601@meta.com> In-Reply-To: <20251104-vsock-selftests-fixes-and-improvements-v2-0-ca2070fd1601@meta.com> To: Stefano Garzarella , Shuah Khan , Jakub Kicinski , Bobby Eshleman Cc: virtualization@lists.linux.dev, netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, Simon Horman , Bobby Eshleman X-Mailer: b4 0.13.0 From: Bobby Eshleman Improve usability of logging functions. Remove the test name prefix from logging functions so that logging calls can be made deeper into the call stack without passing down the test name or setting some global. Teach log function to accept a LOG_PREFIX variable to avoid unnecessary argument shifting. Remove log_setup() and instead use log_host(). The host/guest prefixes are useful to show whether a failure happened on the guest or host side, but "setup" doesn't really give additional useful information. Since all log_setup() calls happen on the host, lets just use log_host() instead. Signed-off-by: Bobby Eshleman --- Changes in v2: - add quotes around $@ in log_{host,guest} (Simon) - remove unnecessary cat for piping into awk (Simon) Changes from previous series: - do not use log levels, keep as on/off switch, after revising the other patch series the levels became unnecessary. --- tools/testing/selftests/vsock/vmtest.sh | 69 ++++++++++++++---------------= ---- 1 file changed, 29 insertions(+), 40 deletions(-) diff --git a/tools/testing/selftests/vsock/vmtest.sh b/tools/testing/selfte= sts/vsock/vmtest.sh index edacebfc1632..1715594cc783 100755 --- a/tools/testing/selftests/vsock/vmtest.sh +++ b/tools/testing/selftests/vsock/vmtest.sh @@ -271,60 +271,51 @@ EOF =20 host_wait_for_listener() { wait_for_listener "${TEST_HOST_PORT_LISTENER}" "${WAIT_PERIOD}" "${WAIT_P= ERIOD_MAX}" -} - -__log_stdin() { - cat | awk '{ printf "%s:\t%s\n","'"${prefix}"'", $0 }' -} =20 -__log_args() { - echo "$*" | awk '{ printf "%s:\t%s\n","'"${prefix}"'", $0 }' } =20 log() { - local prefix=3D"$1" + local redirect + local prefix =20 - shift - local redirect=3D if [[ ${VERBOSE} -eq 0 ]]; then redirect=3D/dev/null else redirect=3D/dev/stdout fi =20 + prefix=3D"${LOG_PREFIX:-}" + if [[ "$#" -eq 0 ]]; then - __log_stdin | tee -a "${LOG}" > ${redirect} + if [[ -n "${prefix}" ]]; then + awk -v prefix=3D"${prefix}" '{printf "%s: %s\n", prefix, $0}' + else + cat + fi else - __log_args "$@" | tee -a "${LOG}" > ${redirect} - fi -} - -log_setup() { - log "setup" "$@" + if [[ -n "${prefix}" ]]; then + echo "${prefix}: " "$@" + else + echo "$@" + fi + fi | tee -a "${LOG}" > ${redirect} } =20 log_host() { - local testname=3D$1 - - shift - log "test:${testname}:host" "$@" + LOG_PREFIX=3Dhost log "$@" } =20 log_guest() { - local testname=3D$1 - - shift - log "test:${testname}:guest" "$@" + LOG_PREFIX=3Dguest log "$@" } =20 test_vm_server_host_client() { - local testname=3D"${FUNCNAME[0]#test_}" =20 vm_ssh -- "${VSOCK_TEST}" \ --mode=3Dserver \ --control-port=3D"${TEST_GUEST_PORT}" \ --peer-cid=3D2 \ - 2>&1 | log_guest "${testname}" & + 2>&1 | log_guest & =20 vm_wait_for_listener "${TEST_GUEST_PORT}" =20 @@ -332,18 +323,17 @@ test_vm_server_host_client() { --mode=3Dclient \ --control-host=3D127.0.0.1 \ --peer-cid=3D"${VSOCK_CID}" \ - --control-port=3D"${TEST_HOST_PORT}" 2>&1 | log_host "${testname}" + --control-port=3D"${TEST_HOST_PORT}" 2>&1 | log_host =20 return $? } =20 test_vm_client_host_server() { - local testname=3D"${FUNCNAME[0]#test_}" =20 ${VSOCK_TEST} \ --mode "server" \ --control-port "${TEST_HOST_PORT_LISTENER}" \ - --peer-cid "${VSOCK_CID}" 2>&1 | log_host "${testname}" & + --peer-cid "${VSOCK_CID}" 2>&1 | log_host & =20 host_wait_for_listener =20 @@ -351,19 +341,18 @@ test_vm_client_host_server() { --mode=3Dclient \ --control-host=3D10.0.2.2 \ --peer-cid=3D2 \ - --control-port=3D"${TEST_HOST_PORT_LISTENER}" 2>&1 | log_guest "${testna= me}" + --control-port=3D"${TEST_HOST_PORT_LISTENER}" 2>&1 | log_guest =20 return $? } =20 test_vm_loopback() { - local testname=3D"${FUNCNAME[0]#test_}" local port=3D60000 # non-forwarded local port =20 vm_ssh -- "${VSOCK_TEST}" \ --mode=3Dserver \ --control-port=3D"${port}" \ - --peer-cid=3D1 2>&1 | log_guest "${testname}" & + --peer-cid=3D1 2>&1 | log_guest & =20 vm_wait_for_listener "${port}" =20 @@ -371,7 +360,7 @@ test_vm_loopback() { --mode=3Dclient \ --control-host=3D"127.0.0.1" \ --control-port=3D"${port}" \ - --peer-cid=3D1 2>&1 | log_guest "${testname}" + --peer-cid=3D1 2>&1 | log_guest =20 return $? } @@ -399,25 +388,25 @@ run_test() { =20 host_oops_cnt_after=3D$(dmesg | grep -i 'Oops' | wc -l) if [[ ${host_oops_cnt_after} -gt ${host_oops_cnt_before} ]]; then - echo "FAIL: kernel oops detected on host" | log_host "${name}" + echo "FAIL: kernel oops detected on host" | log_host rc=3D$KSFT_FAIL fi =20 host_warn_cnt_after=3D$(dmesg --level=3Dwarn | wc -l) if [[ ${host_warn_cnt_after} -gt ${host_warn_cnt_before} ]]; then - echo "FAIL: kernel warning detected on host" | log_host "${name}" + echo "FAIL: kernel warning detected on host" | log_host rc=3D$KSFT_FAIL fi =20 vm_oops_cnt_after=3D$(vm_ssh -- dmesg | grep -i 'Oops' | wc -l) if [[ ${vm_oops_cnt_after} -gt ${vm_oops_cnt_before} ]]; then - echo "FAIL: kernel oops detected on vm" | log_host "${name}" + echo "FAIL: kernel oops detected on vm" | log_host rc=3D$KSFT_FAIL fi =20 vm_warn_cnt_after=3D$(vm_ssh -- dmesg --level=3Dwarn | wc -l) if [[ ${vm_warn_cnt_after} -gt ${vm_warn_cnt_before} ]]; then - echo "FAIL: kernel warning detected on vm" | log_host "${name}" + echo "FAIL: kernel warning detected on vm" | log_host rc=3D$KSFT_FAIL fi =20 @@ -452,10 +441,10 @@ handle_build =20 echo "1..${#ARGS[@]}" =20 -log_setup "Booting up VM" +log_host "Booting up VM" vm_start vm_wait_for_ssh -log_setup "VM booted up" +log_host "VM booted up" =20 cnt_pass=3D0 cnt_fail=3D0 --=20 2.47.3