mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-02-15 09:44:21 -05:00
selftests/vsock: identify and execute tests that can re-use VM
In preparation for future patches that introduce tests that cannot re-use the same VM, add functions to identify those that *can* re-use a VM. By continuing to re-use the same VM for these tests we can save time by avoiding the delay of booting a VM for every test. Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: Bobby Eshleman <bobbyeshleman@meta.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Link: https://patch.msgid.link/20251108-vsock-selftests-fixes-and-improvements-v4-8-d5e8d6c87289@meta.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
committed by
Jakub Kicinski
parent
7fea50dff9
commit
d13fb04a4b
@@ -46,6 +46,8 @@ readonly TEST_DESCS=(
|
||||
"Run vsock_test using the loopback transport in the VM."
|
||||
)
|
||||
|
||||
readonly USE_SHARED_VM=(vm_server_host_client vm_client_host_server vm_loopback)
|
||||
|
||||
VERBOSE=0
|
||||
|
||||
usage() {
|
||||
@@ -461,7 +463,44 @@ test_vm_loopback() {
|
||||
return "${KSFT_PASS}"
|
||||
}
|
||||
|
||||
run_test() {
|
||||
shared_vm_test() {
|
||||
local tname
|
||||
|
||||
tname="${1}"
|
||||
|
||||
for testname in "${USE_SHARED_VM[@]}"; do
|
||||
if [[ "${tname}" == "${testname}" ]]; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
shared_vm_tests_requested() {
|
||||
for arg in "$@"; do
|
||||
if shared_vm_test "${arg}"; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
|
||||
return 1
|
||||
}
|
||||
|
||||
run_shared_vm_tests() {
|
||||
local arg
|
||||
|
||||
for arg in "$@"; do
|
||||
if ! shared_vm_test "${arg}"; then
|
||||
continue
|
||||
fi
|
||||
|
||||
run_shared_vm_test "${arg}"
|
||||
check_result "$?" "${arg}"
|
||||
done
|
||||
}
|
||||
|
||||
run_shared_vm_test() {
|
||||
local host_oops_cnt_before
|
||||
local host_warn_cnt_before
|
||||
local vm_oops_cnt_before
|
||||
@@ -537,23 +576,21 @@ handle_build
|
||||
|
||||
echo "1..${#ARGS[@]}"
|
||||
|
||||
log_host "Booting up VM"
|
||||
pidfile="$(create_pidfile)"
|
||||
vm_start "${pidfile}"
|
||||
vm_wait_for_ssh
|
||||
log_host "VM booted up"
|
||||
|
||||
cnt_pass=0
|
||||
cnt_fail=0
|
||||
cnt_skip=0
|
||||
cnt_total=0
|
||||
for arg in "${ARGS[@]}"; do
|
||||
run_test "${arg}"
|
||||
rc=$?
|
||||
check_result "${rc}" "${arg}"
|
||||
done
|
||||
|
||||
terminate_pidfiles "${pidfile}"
|
||||
if shared_vm_tests_requested "${ARGS[@]}"; then
|
||||
log_host "Booting up VM"
|
||||
pidfile="$(create_pidfile)"
|
||||
vm_start "${pidfile}"
|
||||
vm_wait_for_ssh
|
||||
log_host "VM booted up"
|
||||
|
||||
run_shared_vm_tests "${ARGS[@]}"
|
||||
terminate_pidfiles "${pidfile}"
|
||||
fi
|
||||
|
||||
echo "SUMMARY: PASS=${cnt_pass} SKIP=${cnt_skip} FAIL=${cnt_fail}"
|
||||
echo "Log: ${LOG}"
|
||||
|
||||
Reference in New Issue
Block a user