From nobody Thu Oct 2 13:01:38 2025 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.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 E793A2F60CA for ; Tue, 16 Sep 2025 23:44:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758066245; cv=none; b=PKSJ7YuSVBg0GlsnZvylOxt4w8hxjSleG5g4hSxKnxaZni9PYYmhB4ab5kXwzVuVRhxHr3yfSnDJlaOnzENnjCV8L1tFcyL0H1tbjB7ajvBPd10C7YtdHbL18u8aWAshbsfjtxdlm3SKtyJBha4zjjAnTZ///WIhCB1zv+Koq3w= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758066245; c=relaxed/simple; bh=EcIbGeQZlwbG2n3LwrGpP4mEJH5ftJ79PCsbYjs89dI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aTXOwrAScF1Z7aJARIm9lM0DEuQpCWJtsKEHE9o3JZLnQYFXcOUee2be7T1WTqnOldeDEKJ3sYOSvDctIYWJMNmXmom7NWFErGa1e2kUz6kxjPoRcqVDLnK3ksQkh/luLGzRVum9bjSpmZcj7TnhgLGfpJI1GJ+TgaBgF1TVrAY= 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=Ypfy1gnj; arc=none smtp.client-ip=209.85.210.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="Ypfy1gnj" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-77251d7cca6so5709790b3a.3 for ; Tue, 16 Sep 2025 16:44:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758066242; x=1758671042; 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=D2evao2yHguRL1K3LeUb7zk3K6u4tPHmAj2zWCiTI2M=; b=Ypfy1gnjtI2K5v0rTj0AMhQZ5ILDP1nm8XZA20ZB5wU8GVuP6Yd63Vhnmm8Tl8Sfgs RwmcvqnI8+QqDbU38eYRwRmtmmtjk6u29gHYu8jkGt2L7gbA74YnfWHCUkZz8xGRGAjh fC6qBYk0nJjLhZmXEiBnTJnsXWwsQhDthXyLFrrr6KRNGHkCO3WJvX6PrqloDJDqWnld bIOQAfyxsCLN88etU6zVf9LuaZ72LB890AQdUIAGEwJoNFXDamoeG3Vhacqo+UdwN5lK ShAFey9dFzYFKXAjZ7R6BdcBHHCoDjWlUPoPlsIzqcNNIdyGU5eSrK1ih4DuDcjTpS7A M5ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758066242; x=1758671042; 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=D2evao2yHguRL1K3LeUb7zk3K6u4tPHmAj2zWCiTI2M=; b=ZxPNGKmfbA6IrHiD9k9AtjkB6ln72w/TyNo22AReIwacrPCdD4DTYMfAA38JpYo4F9 k2edmOjh6DM7SRzaeHyk7qdvlyHKuGGLjJ3u7CnQja9Z2ff2+l5PORMaCMlK5XqO96Lk K2dJf+RO1vkj0T3TPXZd060/w5Avefpy+h7E6XBa0FCYYc2JNuylJ45COuC3LC3RxJ7+ hzEbwyJEVgkKhZ+R07je3ZqZvSwmXxObs5ml6yupMikwnuTbvtvM4e3Qq4fHN5ADZNLH d4VvKl+uHO98uT5aGNTxYUhxwpNMqOMyXvV9/6KpDzz6WJHLhzD7mYremmNtMGl5Ivyz oFKQ== X-Forwarded-Encrypted: i=1; AJvYcCUQ2xa2m6uV+fZiBZm7B8CR0zKFRAT7T8vLB4RJ50d+AUd2UwJ1kI8GT5TsdvKin1E5x+YVtf0f2iYWPeE=@vger.kernel.org X-Gm-Message-State: AOJu0Yw4cZHHO19sNqAUBVg1SlgqTIAwC3P70rDbw2HGXLVgQ7EyO6iX sRk/T5j4Jfs663bMJZUUtUt69t8uVUo6p7ChmrNMvzOYy9V1/dNJ5KM7 X-Gm-Gg: ASbGncsxsFFLrWaCrlayfx7toacGXGpiYvGtQqLPN9Hq4oYXGoL8U46tVZL4mf2Vb0+ vUzmXNZUJw4OFBPAxadje8uCYkSaA60nXvnUf870a3EPcjgVrGkRl/Wlre1f012DjDQUPvlEvxa VQF0MLo9s0VK1D9CIdxfaLqXjXCMw0raHiyNjPkFQg0dFl5Hi67pbN+yvVcuVpienkyeAE1JvQQ dNNR9u2kCAMtgmjbFHfAMnJ3j/wv5AONQyjE9Xw0DGen4+PnojAbuZ9TF1BVYYOur5XIyPSAT6U 6MXeLHSBrCiO4Cew0YCCu1q0IKgDXJvy39VUK3AEqj+C3hrxWvviMLWjtaY5aQS6az4/mgscEH9 dgA0yBuHKzaaLOjcL X-Google-Smtp-Source: AGHT+IFnRN2kqEQWg3F1ajCbRwtqkrji7IA+bfyA4M8oQZqQSHuWScxk3g9jwjuxm36IJwivZampNQ== X-Received: by 2002:a05:6a20:7f98:b0:250:f80d:b334 with SMTP id adf61e73a8af0-27a6fdc4458mr89552637.0.1758066242210; Tue, 16 Sep 2025 16:44:02 -0700 (PDT) Received: from localhost ([2a03:2880:2ff::]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b54dd63d5e5sm3149345a12.4.2025.09.16.16.44.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 16 Sep 2025 16:44:01 -0700 (PDT) From: Bobby Eshleman Date: Tue, 16 Sep 2025 16:43:51 -0700 Subject: [PATCH net-next v6 7/9] 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: <20250916-vsock-vmtest-v6-7-064d2eb0c89d@meta.com> References: <20250916-vsock-vmtest-v6-0-064d2eb0c89d@meta.com> In-Reply-To: <20250916-vsock-vmtest-v6-0-064d2eb0c89d@meta.com> To: Stefano Garzarella , Shuah Khan , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Simon Horman , Stefan Hajnoczi , "Michael S. Tsirkin" , Jason Wang , Xuan Zhuo , =?utf-8?q?Eugenio_P=C3=A9rez?= , "K. Y. Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Bryan Tan , Vishnu Dasa , Broadcom internal kernel review list Cc: virtualization@lists.linux.dev, netdev@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org, linux-hyperv@vger.kernel.org, Bobby Eshleman , berrange@redhat.com, Bobby Eshleman X-Mailer: b4 0.13.0 From: Bobby Eshleman Improve logging by adding configurable log levels. Additionally, 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. Signed-off-by: Bobby Eshleman --- tools/testing/selftests/vsock/vmtest.sh | 75 ++++++++++++++++-------------= ---- 1 file changed, 37 insertions(+), 38 deletions(-) diff --git a/tools/testing/selftests/vsock/vmtest.sh b/tools/testing/selfte= sts/vsock/vmtest.sh index edacebfc1632..183647a86c8a 100755 --- a/tools/testing/selftests/vsock/vmtest.sh +++ b/tools/testing/selftests/vsock/vmtest.sh @@ -51,7 +51,12 @@ readonly TEST_DESCS=3D( "Run vsock_test using the loopback transport in the VM." ) =20 -VERBOSE=3D0 +readonly LOG_LEVEL_DEBUG=3D0 +readonly LOG_LEVEL_INFO=3D1 +readonly LOG_LEVEL_WARN=3D2 +readonly LOG_LEVEL_ERROR=3D3 + +VERBOSE=3D"${LOG_LEVEL_WARN}" =20 usage() { local name @@ -196,7 +201,7 @@ vm_start() { =20 qemu=3D$(command -v "${QEMU}") =20 - if [[ "${VERBOSE}" -eq 1 ]]; then + if [[ ${VERBOSE} -le ${LOG_LEVEL_DEBUG} ]]; then verbose_opt=3D"--verbose" logfile=3D/dev/stdout fi @@ -271,60 +276,56 @@ 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 + if [[ ${VERBOSE} -gt ${LOG_LEVEL_INFO} ]]; 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 + cat | awk -v prefix=3D"${prefix}" '{printf "%s: %s\n", prefix, $0}' + else + cat + fi else - __log_args "$@" | tee -a "${LOG}" > ${redirect} - fi + if [[ -n "${prefix}" ]]; then + echo "${prefix}: " "$@" + else + echo "$@" + fi + fi | tee -a "${LOG}" > ${redirect} } =20 -log_setup() { - log "setup" "$@" +log_host() { + LOG_PREFIX=3Dhost log $@ } =20 -log_host() { - local testname=3D$1 +log_guest() { + LOG_PREFIX=3Dguest log $@ +} =20 - shift - log "test:${testname}:host" "$@" } =20 -log_guest() { - local testname=3D$1 =20 - shift - log "test:${testname}:guest" "$@" } =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 +333,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 +351,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 +370,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 $? } @@ -429,7 +428,7 @@ QEMU=3D"qemu-system-$(uname -m)" while getopts :hvsq:b o do case $o in - v) VERBOSE=3D1;; + v) VERBOSE=3D$(( VERBOSE - 1 ));; b) BUILD=3D1;; q) QEMU=3D$OPTARG;; h|*) usage;; @@ -452,10 +451,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