%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
#
# Runs an individual test module.
#
# kselftest expects a separate executable for each test, this can be
# created by adding a script like this:
#
# #!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
# $(dirname $0)/../kselftest_module.sh "description" module_name
#
# Example: tools/testing/selftests/lib/printf.sh
desc="" # Output prefix.
module="" # Filename (without the .ko).
args="" # modprobe arguments.
modprobe="/sbin/modprobe"
main() {
parse_args "$@"
assert_root
assert_have_module
run_module
}
parse_args() {
script=${0##*/}
if [ $# -lt 2 ]; then
echo "Usage: $script <description> <module_name> [FAIL]"
exit 1
fi
desc="$1"
shift || true
module="$1"
shift || true
args="$@"
}
assert_root() {
if [ ! -w /dev ]; then
skip "please run as root"
fi
}
assert_have_module() {
if ! $modprobe -q -n $module; then
skip "module $module is not found"
fi
}
run_module() {
if $modprobe -q $module $args; then
$modprobe -q -r $module
say "ok"
else
fail ""
fi
}
say() {
echo "$desc: $1"
}
fail() {
say "$1 [FAIL]" >&2
exit 1
}
skip() {
say "$1 [SKIP]" >&2
# Kselftest framework requirement - SKIP code is 4.
exit 4
}
#
# Main script
#
main "$@"