selftests: cpufreq: conform test to TAP
authorMuhammad Usama Anjum <usama.anjum@collabora.com>
Thu, 18 Apr 2024 15:31:45 +0000 (20:31 +0500)
committerShuah Khan <skhan@linuxfoundation.org>
Mon, 6 May 2024 19:57:20 +0000 (13:57 -0600)
This test outputs lots of information. Let's conform the core part of
the test to TAP and leave the information printing messages for now.
Include ktap_helpers.sh to print conformed logs. Use KSFT_* macros to
return the correct exit code for the kselftest framework and CIs to
understand the exit status.

Signed-off-by: Muhammad Usama Anjum <usama.anjum@collabora.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
tools/testing/selftests/cpufreq/cpufreq.sh
tools/testing/selftests/cpufreq/main.sh
tools/testing/selftests/cpufreq/module.sh

index b583a2fb4504257daa0c71d09ec82d679ec9535e..a8b1dbc0a3a5bcf8a4563d27af48783c36850feb 100755 (executable)
@@ -178,8 +178,7 @@ cpufreq_basic_tests()
 
        count=$(count_cpufreq_managed_cpus)
        if [ $count = 0 ]; then
-               printf "No cpu is managed by cpufreq core, exiting\n"
-               exit;
+               ktap_exit_fail_msg "No cpu is managed by cpufreq core, exiting\n"
        else
                printf "CPUFreq manages: $count CPUs\n\n"
        fi
index 60ce18ed066607c13d8261b2a60eeb426cd75f9d..a0eb84cf7167fe275c2e67c8d1153f7675e4409c 100755 (executable)
@@ -7,15 +7,15 @@ source governor.sh
 source module.sh
 source special-tests.sh
 
+DIR="$(dirname $(readlink -f "$0"))"
+source "${DIR}"/../kselftest/ktap_helpers.sh
+
 FUNC=basic     # do basic tests by default
 OUTFILE=cpufreq_selftest
 SYSFS=
 CPUROOT=
 CPUFREQROOT=
 
-# Kselftest framework requirement - SKIP code is 4.
-ksft_skip=4
-
 helpme()
 {
        printf "Usage: $0 [-h] [-todg args]
@@ -32,7 +32,7 @@ helpme()
        [-d <driver's module name: only with \"-t modtest>\"]
        [-g <governor's module name: only with \"-t modtest>\"]
        \n"
-       exit 2
+       exit "${KSFT_FAIL}"
 }
 
 prerequisite()
@@ -40,8 +40,8 @@ prerequisite()
        msg="skip all tests:"
 
        if [ $UID != 0 ]; then
-               echo $msg must be run as root >&2
-               exit $ksft_skip
+               ktap_skip_all "$msg must be run as root"
+               exit "${KSFT_SKIP}"
        fi
 
        taskset -p 01 $$
@@ -49,21 +49,21 @@ prerequisite()
        SYSFS=`mount -t sysfs | head -1 | awk '{ print $3 }'`
 
        if [ ! -d "$SYSFS" ]; then
-               echo $msg sysfs is not mounted >&2
-               exit 2
+               ktap_skip_all "$msg sysfs is not mounted"
+               exit "${KSFT_SKIP}"
        fi
 
        CPUROOT=$SYSFS/devices/system/cpu
        CPUFREQROOT="$CPUROOT/cpufreq"
 
        if ! ls $CPUROOT/cpu* > /dev/null 2>&1; then
-               echo $msg cpus not available in sysfs >&2
-               exit 2
+               ktap_skip_all "$msg cpus not available in sysfs"
+               exit "${KSFT_SKIP}"
        fi
 
        if ! ls $CPUROOT/cpufreq > /dev/null 2>&1; then
-               echo $msg cpufreq directory not available in sysfs >&2
-               exit 2
+               ktap_skip_all "$msg cpufreq directory not available in sysfs"
+               exit "${KSFT_SKIP}"
        fi
 }
 
@@ -105,8 +105,7 @@ do_test()
        count=$(count_cpufreq_managed_cpus)
 
        if [ $count = 0 -a $FUNC != "modtest" ]; then
-               echo "No cpu is managed by cpufreq core, exiting"
-               exit 2;
+               ktap_exit_fail_msg "No cpu is managed by cpufreq core, exiting"
        fi
 
        case "$FUNC" in
@@ -125,8 +124,7 @@ do_test()
                "modtest")
                # Do we have modules in place?
                if [ -z $DRIVER_MOD ] && [ -z $GOVERNOR_MOD ]; then
-                       echo "No driver or governor module passed with -d or -g"
-                       exit 2;
+                       ktap_exit_fail_msg "No driver or governor module passed with -d or -g"
                fi
 
                if [ $DRIVER_MOD ]; then
@@ -137,8 +135,7 @@ do_test()
                        fi
                else
                        if [ $count = 0 ]; then
-                               echo "No cpu is managed by cpufreq core, exiting"
-                               exit 2;
+                               ktap_exit_fail_msg "No cpu is managed by cpufreq core, exiting"
                        fi
 
                        module_governor_test $GOVERNOR_MOD
@@ -162,7 +159,7 @@ do_test()
                ;;
 
                *)
-               echo "Invalid [-f] function type"
+               ktap_print_msg "Invalid [-f] function type"
                helpme
                ;;
        esac
@@ -186,13 +183,25 @@ dmesg_dumps()
        dmesg >> $1.dmesg_full.txt
 }
 
+ktap_print_header
+
 # Parse arguments
 parse_arguments $@
 
+ktap_set_plan 1
+
 # Make sure all requirements are met
 prerequisite
 
 # Run requested functions
 clear_dumps $OUTFILE
 do_test | tee -a $OUTFILE.txt
+if [ "${PIPESTATUS[0]}" -ne 0 ]; then
+    exit ${PIPESTATUS[0]};
+fi
 dmesg_dumps $OUTFILE
+
+ktap_test_pass "Completed successfully"
+
+ktap_print_totals
+exit "${KSFT_PASS}"
index 22563cd122e7dd3dd508fd11c9f04552bcaad01d..7f2667e0ae2da518eb61c70ec9698aea5783b680 100755 (executable)
@@ -24,16 +24,14 @@ test_basic_insmod_rmmod()
        # insert module
        insmod $1
        if [ $? != 0 ]; then
-               printf "Insmod $1 failed\n"
-               exit;
+               ktap_exit_fail_msg "Insmod $1 failed\n"
        fi
 
        printf "Removing $1 module\n"
        # remove module
        rmmod $1
        if [ $? != 0 ]; then
-               printf "rmmod $1 failed\n"
-               exit;
+               ktap_exit_fail_msg "rmmod $1 failed\n"
        fi
 
        printf "\n"