summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNaresh Kamboju <naresh.kamboju@linaro.org>2018-02-07 23:45:34 +0530
committerDaniel Borkmann <daniel@iogearbox.net>2018-02-08 00:24:55 +0100
commit035d808f7cfd578dc210b584beb17e365f34d39a (patch)
tree0eda3a748617be87ab164d3f8c35421f5d345f40
parent41b0530eca69740f0c69eb5a867c41b01ec2e551 (diff)
downloadlinux-035d808f7cfd578dc210b584beb17e365f34d39a.tar.gz
linux-035d808f7cfd578dc210b584beb17e365f34d39a.tar.bz2
linux-035d808f7cfd578dc210b584beb17e365f34d39a.zip
selftests: bpf: test_kmod.sh: check the module path before insmod
test_kmod.sh reported false failure when module not present. Check test_bpf.ko is present in the path before loading it. Two cases to be addressed here, In the development process of test_bpf.c unit testing will be done by developers by using "insmod $SRC_TREE/lib/test_bpf.ko" On the other hand testers run full tests by installing modules on device under test (DUT) and followed by modprobe to insert the modules accordingly. Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
-rwxr-xr-xtools/testing/selftests/bpf/test_kmod.sh18
1 files changed, 15 insertions, 3 deletions
diff --git a/tools/testing/selftests/bpf/test_kmod.sh b/tools/testing/selftests/bpf/test_kmod.sh
index ed4774d8d6ed..35669ccd4d23 100755
--- a/tools/testing/selftests/bpf/test_kmod.sh
+++ b/tools/testing/selftests/bpf/test_kmod.sh
@@ -10,9 +10,21 @@ test_run()
echo "[ JIT enabled:$1 hardened:$2 ]"
dmesg -C
- insmod $SRC_TREE/lib/test_bpf.ko 2> /dev/null
- if [ $? -ne 0 ]; then
- rc=1
+ if [ -f ${SRC_TREE}/lib/test_bpf.ko ]; then
+ insmod ${SRC_TREE}/lib/test_bpf.ko 2> /dev/null
+ if [ $? -ne 0 ]; then
+ rc=1
+ fi
+ else
+ # Use modprobe dry run to check for missing test_bpf module
+ if ! /sbin/modprobe -q -n test_bpf; then
+ echo "test_bpf: [SKIP]"
+ elif /sbin/modprobe -q test_bpf; then
+ echo "test_bpf: ok"
+ else
+ echo "test_bpf: [FAIL]"
+ rc=1
+ fi
fi
rmmod test_bpf 2> /dev/null
dmesg | grep FAIL