selftests/livepatch: add sysfs test
Add a test for livepatch sysfs entries. Signed-off-by: Song Liu <song@kernel.org> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20220902205208.3117798-3-song@kernel.org
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
|
||||
MAX_RETRIES=600
|
||||
RETRY_INTERVAL=".1" # seconds
|
||||
KLP_SYSFS_DIR="/sys/kernel/livepatch"
|
||||
|
||||
# Kselftest framework requirement - SKIP code is 4
|
||||
ksft_skip=4
|
||||
@@ -308,3 +309,36 @@ function check_result {
|
||||
|
||||
cleanup_dmesg_file
|
||||
}
|
||||
|
||||
# check_sysfs_rights(modname, rel_path, expected_rights) - check sysfs
|
||||
# path permissions
|
||||
# modname - livepatch module creating the sysfs interface
|
||||
# rel_path - relative path of the sysfs interface
|
||||
# expected_rights - expected access rights
|
||||
function check_sysfs_rights() {
|
||||
local mod="$1"; shift
|
||||
local rel_path="$1"; shift
|
||||
local expected_rights="$1"; shift
|
||||
|
||||
local path="$KLP_SYSFS_DIR/$mod/$rel_path"
|
||||
local rights=$(/bin/stat --format '%A' "$path")
|
||||
if test "$rights" != "$expected_rights" ; then
|
||||
die "Unexpected access rights of $path: $expected_rights vs. $rights"
|
||||
fi
|
||||
}
|
||||
|
||||
# check_sysfs_value(modname, rel_path, expected_value) - check sysfs value
|
||||
# modname - livepatch module creating the sysfs interface
|
||||
# rel_path - relative path of the sysfs interface
|
||||
# expected_value - expected value read from the file
|
||||
function check_sysfs_value() {
|
||||
local mod="$1"; shift
|
||||
local rel_path="$1"; shift
|
||||
local expected_value="$1"; shift
|
||||
|
||||
local path="$KLP_SYSFS_DIR/$mod/$rel_path"
|
||||
local value=`cat $path`
|
||||
if test "$value" != "$expected_value" ; then
|
||||
die "Unexpected value in $path: $expected_value vs. $value"
|
||||
fi
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user