setup_config() calls has_kdir(), which skips every livepatch test when
/lib/modules/$(uname -r)/build is missing. The tests do not compile
anything though, they insmod the pre-built modules from test_modules/,
so the check tests a proxy rather than the thing it cares about.
That proxy holds only for a source tree or a machine with kernel-devel
installed. A packaged testsuite ships the modules pre-built and runs on
machines with no kernel build tree at all, and there every single test
reports "ok ... # SKIP". A harness that looks for "not ok" then reports
the suite as passed, so the whole suite silently tests nothing.
Test for the modules instead. Missing modules still skip rather than
fail, which is what the KDIR check was there for, and the tests now run
wherever the modules are.
Fixes: 54ee3526796f ("selftests: livepatch: Avoid running the tests if
kernel-devel is missing")
Signed-off-by: Eva Kurchatova <[email protected]>
---
tools/testing/selftests/livepatch/functions.sh | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/tools/testing/selftests/livepatch/functions.sh
b/tools/testing/selftests/livepatch/functions.sh
index a65b7b1ac8ad..492955ca2fa0 100644
--- a/tools/testing/selftests/livepatch/functions.sh
+++ b/tools/testing/selftests/livepatch/functions.sh
@@ -44,14 +44,12 @@ function is_root() {
fi
}
-# Check if we can compile the modules before loading them
-function has_kdir() {
- if [ -z "$KDIR" ]; then
- KDIR="/lib/modules/$(uname -r)/build"
- fi
+# Check that the test modules are there before loading them
+function has_test_modules() {
+ local mods=(test_modules/*.ko)
- if [ ! -d "$KDIR" ]; then
- echo "skip all tests: KDIR ($KDIR) not available to compile
modules."
+ if [ ! -e "${mods[0]}" ]; then
+ echo "skip all tests: test modules are not built, run make
first" >&2
exit $ksft_skip
fi
}
@@ -150,7 +148,7 @@ function cleanup() {
# the ftrace_enabled sysctl.
function setup_config() {
is_root
- has_kdir
+ has_test_modules
push_config
set_dynamic_debug
set_ftrace_enabled 1
--
2.55.0