Commit c7e84706 authored by Muhammad Usama Anjum's avatar Muhammad Usama Anjum Committed by Shuah Khan
Browse files

selftests: cpufreq: conform test to TAP



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: default avatarMuhammad Usama Anjum <usama.anjum@collabora.com>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
parent 557f1375
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -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
+28 −19
Original line number Diff line number Diff line
@@ -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}"
+2 −4
Original line number Diff line number Diff line
@@ -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"