Commit 3534e03e authored by Bobby Eshleman's avatar Bobby Eshleman Committed by Jakub Kicinski
Browse files

selftests/vsock: avoid false-positives when checking dmesg



Sometimes VMs will have some intermittent dmesg warnings that are
unrelated to vsock. Change the dmesg parsing to filter on strings
containing 'vsock' to avoid false positive failures that are unrelated
to vsock. The downside is that it is possible for some vsock related
warnings to not contain the substring 'vsock', so those will be missed.

Fixes: a4a65c6f ("selftests/vsock: add initial vmtest.sh for vsock")
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Signed-off-by: default avatarBobby Eshleman <bobbyeshleman@meta.com>
Reviewed-by: default avatarStefano Garzarella <sgarzare@redhat.com>
Link: https://patch.msgid.link/20251105-vsock-vmtest-dmesg-fix-v2-1-1a042a14892c@meta.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 13fef4fb
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -389,9 +389,9 @@ run_test() {
	local rc

	host_oops_cnt_before=$(dmesg | grep -c -i 'Oops')
	host_warn_cnt_before=$(dmesg --level=warn | wc -l)
	host_warn_cnt_before=$(dmesg --level=warn | grep -c -i 'vsock')
	vm_oops_cnt_before=$(vm_ssh -- dmesg | grep -c -i 'Oops')
	vm_warn_cnt_before=$(vm_ssh -- dmesg --level=warn | wc -l)
	vm_warn_cnt_before=$(vm_ssh -- dmesg --level=warn | grep -c -i 'vsock')

	name=$(echo "${1}" | awk '{ print $1 }')
	eval test_"${name}"
@@ -403,7 +403,7 @@ run_test() {
		rc=$KSFT_FAIL
	fi

	host_warn_cnt_after=$(dmesg --level=warn | wc -l)
	host_warn_cnt_after=$(dmesg --level=warn | grep -c -i 'vsock')
	if [[ ${host_warn_cnt_after} -gt ${host_warn_cnt_before} ]]; then
		echo "FAIL: kernel warning detected on host" | log_host "${name}"
		rc=$KSFT_FAIL
@@ -415,7 +415,7 @@ run_test() {
		rc=$KSFT_FAIL
	fi

	vm_warn_cnt_after=$(vm_ssh -- dmesg --level=warn | wc -l)
	vm_warn_cnt_after=$(vm_ssh -- dmesg --level=warn | grep -c -i 'vsock')
	if [[ ${vm_warn_cnt_after} -gt ${vm_warn_cnt_before} ]]; then
		echo "FAIL: kernel warning detected on vm" | log_host "${name}"
		rc=$KSFT_FAIL