1*5d94da7fSLaura Nao#!/bin/bash
2*5d94da7fSLaura Nao# SPDX-License-Identifier: GPL-2.0
3*5d94da7fSLaura Nao#
4*5d94da7fSLaura Nao# Copyright (c) 2023 Collabora Ltd
5*5d94da7fSLaura Nao#
6*5d94da7fSLaura Nao# This script tests whether the rust sample modules can
7*5d94da7fSLaura Nao# be added and removed correctly.
8*5d94da7fSLaura Nao#
9*5d94da7fSLaura NaoDIR="$(dirname "$(readlink -f "$0")")"
10*5d94da7fSLaura Nao
11*5d94da7fSLaura NaoKTAP_HELPERS="${DIR}/../kselftest/ktap_helpers.sh"
12*5d94da7fSLaura Naoif [ -e "$KTAP_HELPERS" ]; then
13*5d94da7fSLaura Nao    source "$KTAP_HELPERS"
14*5d94da7fSLaura Naoelse
15*5d94da7fSLaura Nao    echo "$KTAP_HELPERS file not found [SKIP]"
16*5d94da7fSLaura Nao    exit 4
17*5d94da7fSLaura Naofi
18*5d94da7fSLaura Nao
19*5d94da7fSLaura Naorust_sample_modules=("rust_minimal" "rust_print")
20*5d94da7fSLaura Nao
21*5d94da7fSLaura Naoktap_print_header
22*5d94da7fSLaura Nao
23*5d94da7fSLaura Naofor sample in "${rust_sample_modules[@]}"; do
24*5d94da7fSLaura Nao    if ! /sbin/modprobe -n -q "$sample"; then
25*5d94da7fSLaura Nao        ktap_skip_all "module $sample is not found in /lib/modules/$(uname -r)"
26*5d94da7fSLaura Nao        exit "$KSFT_SKIP"
27*5d94da7fSLaura Nao    fi
28*5d94da7fSLaura Naodone
29*5d94da7fSLaura Nao
30*5d94da7fSLaura Naoktap_set_plan "${#rust_sample_modules[@]}"
31*5d94da7fSLaura Nao
32*5d94da7fSLaura Naofor sample in "${rust_sample_modules[@]}"; do
33*5d94da7fSLaura Nao    if /sbin/modprobe -q "$sample"; then
34*5d94da7fSLaura Nao        /sbin/modprobe -q -r "$sample"
35*5d94da7fSLaura Nao        ktap_test_pass "$sample"
36*5d94da7fSLaura Nao    else
37*5d94da7fSLaura Nao        ktap_test_fail "$sample"
38*5d94da7fSLaura Nao    fi
39*5d94da7fSLaura Naodone
40*5d94da7fSLaura Nao
41*5d94da7fSLaura Naoktap_finished
42