xref: /aosp_15_r20/external/ltp/testcases/commands/insmod/insmod01.sh (revision 49cdfc7efb34551c7342be41a7384b9c40d7cab7)
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0-or-later
3# Copyright (c) 2016 Fujitsu Ltd.
4# Copyright (c) Linux Test Project, 2016-2023
5# Author: Guangwen Feng <[email protected]>
6#
7# Test basic functionality of insmod command.
8
9TST_CLEANUP=cleanup
10TST_TESTFUNC=do_test
11TST_NEEDS_ROOT=1
12TST_NEEDS_CMDS="rmmod insmod"
13TST_NEEDS_MODULE="ltp_insmod01.ko"
14TST_SKIP_IN_LOCKDOWN=1
15TST_SKIP_IN_SECUREBOOT=1
16
17inserted=0
18
19cleanup()
20{
21	if [ $inserted -ne 0 ]; then
22		tst_res TINFO "running rmmod ltp_insmod01"
23		rmmod ltp_insmod01
24		if [ $? -ne 0 ]; then
25			tst_res TWARN "failed to rmmod ltp_insmod01"
26		fi
27		inserted=0
28	fi
29}
30
31do_test()
32{
33	insmod "$TST_MODPATH"
34	if [ $? -ne 0 ]; then
35		tst_res TFAIL "insmod failed"
36		return
37	fi
38	inserted=1
39
40	grep -q ltp_insmod01 /proc/modules
41	if [ $? -ne 0 ]; then
42		tst_res TFAIL "ltp_insmod01 not found in /proc/modules"
43		return
44	fi
45
46	cleanup
47
48	tst_res TPASS "insmod passed"
49}
50
51. tst_test.sh
52tst_run
53