Skip to content

Commit 5d94da7

Browse files
laura-naoshuahkh
authored andcommitted
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>
1 parent 539cd3f commit 5d94da7

File tree

5 files changed

+52
-0
lines changed

5 files changed

+52
-0
lines changed

MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19095,6 +19095,7 @@ F: Documentation/rust/
1909519095
F: rust/
1909619096
F: samples/rust/
1909719097
F: scripts/*rust*
19098+
F: tools/testing/selftests/rust/
1909819099
K: \b(?i:rust)\b
1909919100

1910019101
RXRPC SOCKETS (AF_RXRPC)

tools/testing/selftests/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ TARGETS += riscv
7979
TARGETS += rlimits
8080
TARGETS += rseq
8181
TARGETS += rtc
82+
TARGETS += rust
8283
TARGETS += seccomp
8384
TARGETS += sgx
8485
TARGETS += sigaltstack

tools/testing/selftests/rust/Makefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: GPL-2.0
2+
TEST_PROGS += test_probe_samples.sh
3+
4+
include ../lib.mk

tools/testing/selftests/rust/config

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
CONFIG_RUST=y
2+
CONFIG_SAMPLES=y
3+
CONFIG_SAMPLES_RUST=y
4+
CONFIG_SAMPLE_RUST_MINIMAL=m
5+
CONFIG_SAMPLE_RUST_PRINT=m
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
# SPDX-License-Identifier: GPL-2.0
3+
#
4+
# Copyright (c) 2023 Collabora Ltd
5+
#
6+
# This script tests whether the rust sample modules can
7+
# be added and removed correctly.
8+
#
9+
DIR="$(dirname "$(readlink -f "$0")")"
10+
11+
KTAP_HELPERS="${DIR}/../kselftest/ktap_helpers.sh"
12+
if [ -e "$KTAP_HELPERS" ]; then
13+
source "$KTAP_HELPERS"
14+
else
15+
echo "$KTAP_HELPERS file not found [SKIP]"
16+
exit 4
17+
fi
18+
19+
rust_sample_modules=("rust_minimal" "rust_print")
20+
21+
ktap_print_header
22+
23+
for sample in "${rust_sample_modules[@]}"; do
24+
if ! /sbin/modprobe -n -q "$sample"; then
25+
ktap_skip_all "module $sample is not found in /lib/modules/$(uname -r)"
26+
exit "$KSFT_SKIP"
27+
fi
28+
done
29+
30+
ktap_set_plan "${#rust_sample_modules[@]}"
31+
32+
for sample in "${rust_sample_modules[@]}"; do
33+
if /sbin/modprobe -q "$sample"; then
34+
/sbin/modprobe -q -r "$sample"
35+
ktap_test_pass "$sample"
36+
else
37+
ktap_test_fail "$sample"
38+
fi
39+
done
40+
41+
ktap_finished

0 commit comments

Comments
 (0)