kselftest: Add basic test for probing the rust sample modules
Add new basic kselftest that checks if the available rust sample modules can be added and removed correctly. Signed-off-by: Laura Nao <laura.nao@collabora.com> Reviewed-by: Sergio Gonzalez Collado <sergio.collado@gmail.com> Reviewed-by: Muhammad Usama Anjum <usama.anjum@collabora.com> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
parent
539cd3f4da
commit
5d94da7ff0
@ -19095,6 +19095,7 @@ F: Documentation/rust/
|
||||
F: rust/
|
||||
F: samples/rust/
|
||||
F: scripts/*rust*
|
||||
F: tools/testing/selftests/rust/
|
||||
K: \b(?i:rust)\b
|
||||
|
||||
RXRPC SOCKETS (AF_RXRPC)
|
||||
|
@ -79,6 +79,7 @@ TARGETS += riscv
|
||||
TARGETS += rlimits
|
||||
TARGETS += rseq
|
||||
TARGETS += rtc
|
||||
TARGETS += rust
|
||||
TARGETS += seccomp
|
||||
TARGETS += sgx
|
||||
TARGETS += sigaltstack
|
||||
|
4
tools/testing/selftests/rust/Makefile
Normal file
4
tools/testing/selftests/rust/Makefile
Normal file
@ -0,0 +1,4 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
TEST_PROGS += test_probe_samples.sh
|
||||
|
||||
include ../lib.mk
|
5
tools/testing/selftests/rust/config
Normal file
5
tools/testing/selftests/rust/config
Normal file
@ -0,0 +1,5 @@
|
||||
CONFIG_RUST=y
|
||||
CONFIG_SAMPLES=y
|
||||
CONFIG_SAMPLES_RUST=y
|
||||
CONFIG_SAMPLE_RUST_MINIMAL=m
|
||||
CONFIG_SAMPLE_RUST_PRINT=m
|
41
tools/testing/selftests/rust/test_probe_samples.sh
Executable file
41
tools/testing/selftests/rust/test_probe_samples.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
#
|
||||
# Copyright (c) 2023 Collabora Ltd
|
||||
#
|
||||
# This script tests whether the rust sample modules can
|
||||
# be added and removed correctly.
|
||||
#
|
||||
DIR="$(dirname "$(readlink -f "$0")")"
|
||||
|
||||
KTAP_HELPERS="${DIR}/../kselftest/ktap_helpers.sh"
|
||||
if [ -e "$KTAP_HELPERS" ]; then
|
||||
source "$KTAP_HELPERS"
|
||||
else
|
||||
echo "$KTAP_HELPERS file not found [SKIP]"
|
||||
exit 4
|
||||
fi
|
||||
|
||||
rust_sample_modules=("rust_minimal" "rust_print")
|
||||
|
||||
ktap_print_header
|
||||
|
||||
for sample in "${rust_sample_modules[@]}"; do
|
||||
if ! /sbin/modprobe -n -q "$sample"; then
|
||||
ktap_skip_all "module $sample is not found in /lib/modules/$(uname -r)"
|
||||
exit "$KSFT_SKIP"
|
||||
fi
|
||||
done
|
||||
|
||||
ktap_set_plan "${#rust_sample_modules[@]}"
|
||||
|
||||
for sample in "${rust_sample_modules[@]}"; do
|
||||
if /sbin/modprobe -q "$sample"; then
|
||||
/sbin/modprobe -q -r "$sample"
|
||||
ktap_test_pass "$sample"
|
||||
else
|
||||
ktap_test_fail "$sample"
|
||||
fi
|
||||
done
|
||||
|
||||
ktap_finished
|
Loading…
Reference in New Issue
Block a user