sysclt: Clarify the results of selftest run

In some cases the result of test were hidden inside the stdout and it
was difficult to identify when a test was skipped and why.

List of changes
1. Capitalize all the words that express a test result : "OK", "SKIPPED"
   and "FAIL".
2. Place all test result text at the end of the message. This will
   prevent the result from being hidden when stdout is verbose.
3. Any other explanation that comes after the result text will be placed
   in a new line.
4. All failures are marked as "FAIL"
5. Pipped the failure to stderr in tests 8, 9, 10.
6. Replaced bogus "FAIL" with "SKIPPED" in test 0007
7. All "..." are prefixed and followed by a space.

Signed-off-by: Joel Granados <j.granados@samsung.com>
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
This commit is contained in:
Joel Granados 2023-11-21 12:02:20 +01:00 committed by Luis Chamberlain
parent 777740779e
commit ce02375784

View File

@ -64,7 +64,7 @@ function check_production_sysctl_writes_strict()
else else
old_strict=$(cat ${WRITES_STRICT}) old_strict=$(cat ${WRITES_STRICT})
if [ "$old_strict" = "1" ]; then if [ "$old_strict" = "1" ]; then
echo "ok" echo "OK"
else else
echo "FAIL, strict value is 0 but force to 1 to continue" >&2 echo "FAIL, strict value is 0 but force to 1 to continue" >&2
echo "1" > ${WRITES_STRICT} echo "1" > ${WRITES_STRICT}
@ -226,7 +226,7 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
exit 1 exit 1
else else
echo "ok" echo "OK"
fi fi
echo -n "Checking sysctl is not set to test value ... " echo -n "Checking sysctl is not set to test value ... "
@ -234,7 +234,7 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
exit 1 exit 1
else else
echo "ok" echo "OK"
fi fi
echo -n "Writing sysctl from shell ... " echo -n "Writing sysctl from shell ... "
@ -243,7 +243,7 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
exit 1 exit 1
else else
echo "ok" echo "OK"
fi fi
echo -n "Resetting sysctl to original value ... " echo -n "Resetting sysctl to original value ... "
@ -252,7 +252,7 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
exit 1 exit 1
else else
echo "ok" echo "OK"
fi fi
# Now that we've validated the sanity of "set_test" and "set_orig", # Now that we've validated the sanity of "set_test" and "set_orig",
@ -266,7 +266,7 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Writing middle of sysctl after synchronized seek ... " echo -n "Writing middle of sysctl after synchronized seek ... "
@ -276,7 +276,7 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Writing beyond end of sysctl ... " echo -n "Writing beyond end of sysctl ... "
@ -286,7 +286,7 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Writing sysctl with multiple long writes ... " echo -n "Writing sysctl with multiple long writes ... "
@ -297,14 +297,14 @@ run_numerictests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
} }
check_failure() check_failure()
{ {
echo -n "Testing that $1 fails as expected..." echo -n "Testing that $1 fails as expected ... "
reset_vals reset_vals
TEST_STR="$1" TEST_STR="$1"
orig="$(cat $TARGET)" orig="$(cat $TARGET)"
@ -315,7 +315,7 @@ check_failure()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
} }
@ -357,7 +357,7 @@ run_wideint_tests()
# Your test must accept digits 3 and 4 to use this # Your test must accept digits 3 and 4 to use this
run_limit_digit() run_limit_digit()
{ {
echo -n "Checking ignoring spaces up to PAGE_SIZE works on write ..." echo -n "Checking ignoring spaces up to PAGE_SIZE works on write ... "
reset_vals reset_vals
LIMIT=$((MAX_DIGITS -1)) LIMIT=$((MAX_DIGITS -1))
@ -369,11 +369,11 @@ run_limit_digit()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
echo -n "Checking passing PAGE_SIZE of spaces fails on write ..." echo -n "Checking passing PAGE_SIZE of spaces fails on write ... "
reset_vals reset_vals
LIMIT=$((MAX_DIGITS)) LIMIT=$((MAX_DIGITS))
@ -385,7 +385,7 @@ run_limit_digit()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
} }
@ -393,7 +393,7 @@ run_limit_digit()
# You are using an int # You are using an int
run_limit_digit_int() run_limit_digit_int()
{ {
echo -n "Testing INT_MAX works ..." echo -n "Testing INT_MAX works ... "
reset_vals reset_vals
TEST_STR="$INT_MAX" TEST_STR="$INT_MAX"
echo -n $TEST_STR > $TARGET echo -n $TEST_STR > $TARGET
@ -402,11 +402,11 @@ run_limit_digit_int()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
echo -n "Testing INT_MAX + 1 will fail as expected..." echo -n "Testing INT_MAX + 1 will fail as expected ... "
reset_vals reset_vals
let TEST_STR=$INT_MAX+1 let TEST_STR=$INT_MAX+1
echo -n $TEST_STR > $TARGET 2> /dev/null echo -n $TEST_STR > $TARGET 2> /dev/null
@ -415,11 +415,11 @@ run_limit_digit_int()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
echo -n "Testing negative values will work as expected..." echo -n "Testing negative values will work as expected ... "
reset_vals reset_vals
TEST_STR="-3" TEST_STR="-3"
echo -n $TEST_STR > $TARGET 2> /dev/null echo -n $TEST_STR > $TARGET 2> /dev/null
@ -427,7 +427,7 @@ run_limit_digit_int()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
} }
@ -443,7 +443,7 @@ run_limit_digit_int_array()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
@ -460,7 +460,7 @@ run_limit_digit_int_array()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
@ -478,7 +478,7 @@ run_limit_digit_int_array()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
@ -495,7 +495,7 @@ run_limit_digit_int_array()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
} }
@ -503,7 +503,7 @@ run_limit_digit_int_array()
# You are using an unsigned int # You are using an unsigned int
run_limit_digit_uint() run_limit_digit_uint()
{ {
echo -n "Testing UINT_MAX works ..." echo -n "Testing UINT_MAX works ... "
reset_vals reset_vals
TEST_STR="$UINT_MAX" TEST_STR="$UINT_MAX"
echo -n $TEST_STR > $TARGET echo -n $TEST_STR > $TARGET
@ -512,11 +512,11 @@ run_limit_digit_uint()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
echo -n "Testing UINT_MAX + 1 will fail as expected..." echo -n "Testing UINT_MAX + 1 will fail as expected ... "
reset_vals reset_vals
TEST_STR=$(($UINT_MAX+1)) TEST_STR=$(($UINT_MAX+1))
echo -n $TEST_STR > $TARGET 2> /dev/null echo -n $TEST_STR > $TARGET 2> /dev/null
@ -525,11 +525,11 @@ run_limit_digit_uint()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
echo -n "Testing negative values will not work as expected ..." echo -n "Testing negative values will not work as expected ... "
reset_vals reset_vals
TEST_STR="-3" TEST_STR="-3"
echo -n $TEST_STR > $TARGET 2> /dev/null echo -n $TEST_STR > $TARGET 2> /dev/null
@ -538,7 +538,7 @@ run_limit_digit_uint()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
} }
@ -552,7 +552,7 @@ run_stringtests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Writing middle of sysctl after unsynchronized seek ... " echo -n "Writing middle of sysctl after unsynchronized seek ... "
@ -562,7 +562,7 @@ run_stringtests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Checking sysctl maxlen is at least $MAXLEN ... " echo -n "Checking sysctl maxlen is at least $MAXLEN ... "
@ -573,7 +573,7 @@ run_stringtests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Checking sysctl keeps original string on overflow append ... " echo -n "Checking sysctl keeps original string on overflow append ... "
@ -584,7 +584,7 @@ run_stringtests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Checking sysctl stays NULL terminated on write ... " echo -n "Checking sysctl stays NULL terminated on write ... "
@ -595,7 +595,7 @@ run_stringtests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
echo -n "Checking sysctl stays NULL terminated on overwrite ... " echo -n "Checking sysctl stays NULL terminated on overwrite ... "
@ -606,7 +606,7 @@ run_stringtests()
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
fi fi
test_rc test_rc
@ -651,7 +651,7 @@ run_bitmaptest() {
fi fi
done done
echo -n "Checking bitmap handler... " echo -n "Checking bitmap handler ... "
TEST_FILE=$(mktemp) TEST_FILE=$(mktemp)
echo -n "$TEST_STR" > $TEST_FILE echo -n "$TEST_STR" > $TEST_FILE
@ -666,7 +666,7 @@ run_bitmaptest() {
echo "FAIL" >&2 echo "FAIL" >&2
rc=1 rc=1
else else
echo "ok" echo "OK"
rc=0 rc=0
fi fi
test_rc test_rc
@ -743,89 +743,90 @@ sysctl_test_0006()
sysctl_test_0007() sysctl_test_0007()
{ {
TARGET="${SYSCTL}/$(get_test_target 0007)" TARGET="${SYSCTL}/$(get_test_target 0007)"
echo -n "Testing if $TARGET is set to 1 ... "
if [ ! -f $TARGET ]; then if [ ! -f $TARGET ]; then
echo "Skipping test for $TARGET as it is not present ..." echo -e "SKIPPING\n$TARGET is not present"
return $ksft_skip return $ksft_skip
fi fi
if [ -d $DIR ]; then if [ -d $DIR ]; then
echo "Boot param test only possible sysctl_test is built-in, not module:" echo -e "SKIPPING\nTest only possible if sysctl_test is built-in, not module:"
cat $TEST_DIR/config >&2 cat $TEST_DIR/config >&2
return $ksft_skip return $ksft_skip
fi fi
echo -n "Testing if $TARGET is set to 1 ..."
ORIG=$(cat "${TARGET}") ORIG=$(cat "${TARGET}")
if [ x$ORIG = "x1" ]; then if [ x$ORIG = "x1" ]; then
echo "ok" echo "OK"
return 0 return 0
fi fi
echo "FAIL"
echo "Checking if /proc/cmdline contains setting of the expected parameter ..."
if [ ! -f /proc/cmdline ]; then if [ ! -f /proc/cmdline ]; then
echo "/proc/cmdline does not exist, test inconclusive" echo -e "SKIPPING\nThere is no /proc/cmdline to check for paramter"
return 0 return $ksft_skip
fi fi
FOUND=$(grep -c "sysctl[./]debug[./]test_sysctl[./]boot_int=1" /proc/cmdline) FOUND=$(grep -c "sysctl[./]debug[./]test_sysctl[./]boot_int=1" /proc/cmdline)
if [ $FOUND = "1" ]; then if [ $FOUND = "1" ]; then
echo "Kernel param found but $TARGET is not 1, TEST FAILED" echo -e "FAIL\nKernel param found but $TARGET is not 1." >&2
rc=1 rc=1
test_rc test_rc
fi fi
echo "Skipping test, expected kernel parameter missing." echo -e "SKIPPING\nExpected kernel parameter missing."
echo "To perform this test, make sure kernel is booted with parameter: sysctl.debug.test_sysctl.boot_int=1" echo "Kernel must be booted with parameter: sysctl.debug.test_sysctl.boot_int=1"
return $ksft_skip return $ksft_skip
} }
sysctl_test_0008() sysctl_test_0008()
{ {
TARGET="${SYSCTL}/$(get_test_target 0008)" TARGET="${SYSCTL}/$(get_test_target 0008)"
echo -n "Testing if $TARGET is matched in kernel ... "
if [ ! -f $TARGET ]; then if [ ! -f $TARGET ]; then
echo "Skipping test for $TARGET as it is not present ..." echo -e "SKIPPING\n$TARGET is not present"
return $ksft_skip return $ksft_skip
fi fi
echo -n "Testing if $TARGET is matched in kernel"
ORIG_VALUE=$(cat "${TARGET}") ORIG_VALUE=$(cat "${TARGET}")
if [ $ORIG_VALUE -ne 1 ]; then if [ $ORIG_VALUE -ne 1 ]; then
echo "TEST FAILED" echo "FAIL" >&2
rc=1 rc=1
test_rc test_rc
fi fi
echo "ok" echo "OK"
return 0 return 0
} }
sysctl_test_0009() sysctl_test_0009()
{ {
TARGET="${SYSCTL}/$(get_test_target 0009)" TARGET="${SYSCTL}/$(get_test_target 0009)"
echo -n "Testing if $TARGET unregistered correctly ..." echo -n "Testing if $TARGET unregistered correctly ... "
if [ -d $TARGET ]; then if [ -d $TARGET ]; then
echo "TEST FAILED" echo "FAIL" >&2
rc=1 rc=1
test_rc test_rc
fi fi
echo "ok" echo "OK"
return 0 return 0
} }
sysctl_test_0010() sysctl_test_0010()
{ {
TARGET="${SYSCTL}/$(get_test_target 0010)" TARGET="${SYSCTL}/$(get_test_target 0010)"
echo -n "Testing that $TARGET was not created ..." echo -n "Testing that $TARGET was not created ... "
if [ -d $TARGET ]; then if [ -d $TARGET ]; then
echo "TEST FAILED" echo "FAIL" >&2
rc=1 rc=1
test_rc test_rc
fi fi
echo "ok" echo "OK"
return 0 return 0
} }
@ -957,7 +958,7 @@ function skip_test()
if target_exists $TEST_TARGET $TEST_ID; then if target_exists $TEST_TARGET $TEST_ID; then
TEST_SKIP=$(get_test_skip_no_target $TEST_ID) TEST_SKIP=$(get_test_skip_no_target $TEST_ID)
if [[ $TEST_SKIP -eq "1" ]]; then if [[ $TEST_SKIP -eq "1" ]]; then
echo "Target for test $TEST_ID: $TEST_TARGET not exist, skipping test ..." echo "Target $TEST_TARGET for test $TEST_ID does not exist ... SKIPPING"
return 0 return 0
fi fi
fi fi