diff options
author | Daniel Lezcano <daniel.lezcano@linaro.org> | 2011-07-26 14:39:00 +0200 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2011-07-26 14:39:00 +0200 |
commit | 4a19e6e6bca58e7f76dbd2704ab34188805b2968 (patch) | |
tree | 1cd2b8d65ff0de2c0e1b8dd0685071c8e9eba35e | |
parent | 9fb906e116f603a1dfaf33f739c20f74e7996e19 (diff) |
test 'ondemand' and 'conservative' trigger correctly the configuration directory
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
-rw-r--r-- | cpufreq/test_05.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/cpufreq/test_05.sh b/cpufreq/test_05.sh new file mode 100644 index 0000000..7064c13 --- /dev/null +++ b/cpufreq/test_05.sh @@ -0,0 +1,73 @@ +#!/bin/bash +# +# PM-QA validation test suite for the power management on ARM +# +# Copyright (C) 2011, Linaro Limited. +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Contributors: +# Daniel Lezcano <daniel.lezcano@linaro.org> (IBM Corporation) +# - initial API and implementation +# + +# URL : https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/QA/Scripts#test_05 + +source ../include/functions.sh + +if [ $(id -u) != 0 ]; then + log_skip "run as non-root" + exit 0 +fi + +save_governors + +trap restore_governors SIGHUP SIGINT SIGTERM + +switch_ondemand() { + local cpu=$1 + set_governor $cpu 'ondemand' +} + +switch_conservative() { + local cpu=$1 + set_governor $cpu 'conservative' +} + +switch_userspace() { + local cpu=$1 + set_governor $cpu 'userspace' +} + +for_each_cpu switch_ondemand +check "'ondemand' directory exists" "test -d $CPU_PATH/cpufreq/ondemand" + +for_each_cpu switch_conservative +check "'conservative' directory exists" "test -d $CPU_PATH/cpufreq/conservative" + +for_each_cpu switch_userspace +check "'ondemand' directory is not there" "test ! -d $CPU_PATH/cpufreq/ondemand" +check "'conservative' directory is not there" "test ! -d $CPU_PATH/cpufreq/conservative" + +# if more than one cpu, combine governors +nrcpus=$(ls $CPU_PATH | grep "cpu[0-9].*" | wc -l) +if [ $nrcpus > 0 ]; then + switch_ondemand cpu0 + switch_conservative cpu1 + check "'ondemand' directory exists" "test -d $CPU_PATH/cpufreq/ondemand" + check "'conservative' directory exists" "test -d $CPU_PATH/cpufreq/conservative" +fi + +restore_governors |