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#
9DIR="$(dirname "$(readlink -f "$0")")"
10
11KTAP_HELPERS="${DIR}/../kselftest/ktap_helpers.sh"
12if [ -e "$KTAP_HELPERS" ]; then
13    source "$KTAP_HELPERS"
14else
15    echo "$KTAP_HELPERS file not found [SKIP]"
16    exit 4
17fi
18
19rust_sample_modules=("rust_minimal" "rust_print")
20
21ktap_print_header
22
23for 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
28done
29
30ktap_set_plan "${#rust_sample_modules[@]}"
31
32for 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
39done
40
41ktap_finished
42