From af5c563efd3c5b8298ffd3d9da91e220a4151ebe Mon Sep 17 00:00:00 2001 From: Viresh Kumar Date: Fri, 16 Jan 2015 11:59:49 +0530 Subject: cpufreq tests Signed-off-by: Viresh Kumar --- cpufreq.sh | 42 ++++++++++++++++++++++++++++++++++++++++++ runme.sh | 10 +++++++++- 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/cpufreq.sh b/cpufreq.sh index a608d6f..9624b69 100755 --- a/cpufreq.sh +++ b/cpufreq.sh @@ -248,3 +248,45 @@ cpufreq_basic_tests() # Test all frequencies shuffle_frequency_for_all_cpus 2 } + +# Suspend/resume +# $1: "suspend" or "hibernate", $2: loop count +do_suspend() +{ + echo "** Test: Running ${FUNCNAME[0]}: Trying $1 for $2 loops **" + echo "" + + # Is the directory available + if [ ! -d /sys/power/ -o ! -f /sys/power/state ]; then + echo "/sys/power/state not available" + return 1 + fi + + if [ $1 = "suspend" ]; then + filename="mem" + elif [ $1 = "hibernate" ]; then + filename="disk" + fi + + if [ -n $filename ]; then + present=$(cat /sys/power/state | grep $filename) + + if [ -z "$present" ]; then + echo "Tried to $1 but $filename isn't present in /sys/power/state" + return 1; + else + for i in `seq 1 $2`; do + echo "Starting $1" + echo $filename > /sys/power/state + echo "Came out of $1" + + echo "Do basic tests after finishing $1 to verify cpufreq state" + echo "" + cpufreq_basic_tests + done + fi + fi + + echo "------------------------------------------------" + echo "" +} diff --git a/runme.sh b/runme.sh index 66f8ad0..bc1f598 100755 --- a/runme.sh +++ b/runme.sh @@ -11,7 +11,7 @@ source special-tests.sh FUNC=basic # do basic tests by default # Check validity of arguments -USAGE="Usage: $0 [-h] [-odgf args]\n\t[-h ]\n\t[-o ]\n\t[-d ] \n\t[-g ] \n\t[-f ]\n" +USAGE="Usage: $0 [-h] [-odgf args]\n\t[-h ]\n\t[-o ]\n\t[-d ] \n\t[-g ] \n\t[-f ]\n" # Parse arguments parse_arguments() @@ -64,6 +64,14 @@ __run_func() cpufreq_basic_tests ;; + "suspend") + do_suspend "suspend" 2 + ;; + + "hibernate") + do_suspend "hibernate" 2 + ;; + "modtest") # Do we have modules in place? if [ -z $DRIVER_MOD ] && [ -z $GOVERNOR_MOD ]; then -- cgit v1.2.3