[kvm-unit-tests PATCH v3 11/16] scripts: Add KVMTOOL environment variable for kvmtool binary path

Alexandru Elisei
2025-05-07T15:13:52Z

kvmtool is often used for prototyping new features, and a developer might
not want to install it system-wide. Add a KVMTOOL environment variable to
make it easier for tests to use a binary not in $PATH.

Signed-off-by: Alexandru Elisei <alexandru.elisei@arm.com>
---
run_tests.sh | 1 +
scripts/arch-run.bash | 3 ++-
2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/run_tests.sh b/run_tests.sh
index dd9d27377905..150a06a91064 100755
--- a/run_tests.sh
+++ b/run_tests.sh
@@ -36,6 +36,7 @@ The following environment variables are used:
TIMEOUT Timeout duration for the timeout(1) command
CHECK Overwrites the 'check' unit test parameter (see
docs/unittests.txt)
+ KVMTOOL Path to kvmtool binary for ARCH-run
EOF
}

diff --git a/scripts/arch-run.bash b/scripts/arch-run.bash
index 8cf67e4f3b51..d4fc7116abbe 100644
--- a/scripts/arch-run.bash
+++ b/scripts/arch-run.bash
@@ -372,7 +372,7 @@ search_kvmtool_binary ()
{
local kvmtoolcmd kvmtool

- for kvmtoolcmd in lkvm vm lkvm-static; do
+ for kvmtoolcmd in ${KVMTOOL:-lkvm vm lkvm-static}; do
if "$kvmtoolcmd" --help 2>/dev/null| grep -q 'The most commonly used'; then
kvmtool="$kvmtoolcmd"
break
@@ -381,6 +381,7 @@ search_kvmtool_binary ()

if [ -z "$kvmtool" ]; then
echo "A kvmtool binary was not found." >&2
+ echo "You can set a custom location by using the KVMTOOL=<path> environment variable." >&2
return 2
fi

--
2.49.0