mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 08:34:20 +08:00
selftests: memfd: return Kselftest Skip code for skipped tests
When memfd test is skipped because of unmet dependencies and/or unsupported configuration, it returns non-zero value which is treated as a fail by the Kselftest framework. This leads to false negative result even when the test could not be run. Change it to return kselftest skip code when a test gets skipped to clearly report that the test could not be run. Added an explicit check for root user at the start of memfd hugetlbfs test and return skip code if a non-root user attempts to run it. In addition, return skip code when not enough huge pages are available to run the test. Kselftest framework SKIP code is 4 and the framework prints appropriate messages to indicate that the test is skipped. Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org> Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com> Signed-off-by: Shuah Khan (Samsung OSG) <shuah@kernel.org>
This commit is contained in:
parent
39d69997e4
commit
b27f0259e8
@ -1,6 +1,9 @@
|
||||
#!/bin/bash
|
||||
# please run as root
|
||||
|
||||
# Kselftest framework requirement - SKIP code is 4.
|
||||
ksft_skip=4
|
||||
|
||||
#
|
||||
# Normal tests requiring no special resources
|
||||
#
|
||||
@ -29,12 +32,13 @@ if [ -n "$freepgs" ] && [ $freepgs -lt $hpages_test ]; then
|
||||
nr_hugepgs=`cat /proc/sys/vm/nr_hugepages`
|
||||
hpages_needed=`expr $hpages_test - $freepgs`
|
||||
|
||||
if [ $UID != 0 ]; then
|
||||
echo "Please run memfd with hugetlbfs test as root"
|
||||
exit $ksft_skip
|
||||
fi
|
||||
|
||||
echo 3 > /proc/sys/vm/drop_caches
|
||||
echo $(( $hpages_needed + $nr_hugepgs )) > /proc/sys/vm/nr_hugepages
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Please run this test as root"
|
||||
exit 1
|
||||
fi
|
||||
while read name size unit; do
|
||||
if [ "$name" = "HugePages_Free:" ]; then
|
||||
freepgs=$size
|
||||
@ -53,7 +57,7 @@ if [ $freepgs -lt $hpages_test ]; then
|
||||
fi
|
||||
printf "Not enough huge pages available (%d < %d)\n" \
|
||||
$freepgs $needpgs
|
||||
exit 1
|
||||
exit $ksft_skip
|
||||
fi
|
||||
|
||||
#
|
||||
|
Loading…
Reference in New Issue
Block a user