aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmit Daniel Kachhap <amit.kachhap@linaro.org>2012-03-26 15:18:33 +0530
committerzhanghongbo <hongbo.zhang@stericsson.com>2012-05-09 15:30:56 +0800
commitf2408a69b7be5c1bd9f0e7891f23a5a6d8b956f4 (patch)
tree7bcdbf6340ccdbc08fd457e27b10cf77d2d4917a
parente9e5010c945c54035ff1ebdfe673e2f857f55ead (diff)
Verify the cooling device are lowering the temperature down
Signed-off-by: Amit Daniel Kachhap <amit.kachhap@linaro.org>
-rwxr-xr-xthermal/thermal_04.sh73
-rw-r--r--thermal/thermal_04.txt1
2 files changed, 74 insertions, 0 deletions
diff --git a/thermal/thermal_04.sh b/thermal/thermal_04.sh
new file mode 100755
index 0000000..56f76f5
--- /dev/null
+++ b/thermal/thermal_04.sh
@@ -0,0 +1,73 @@
+#!/bin/bash
+#
+# PM-QA validation test suite for the power management on Linux
+#
+# 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:
+# Amit Daniel <amit.kachhap@linaro.org> (Samsung Electronics)
+# - initial API and implementation
+#
+
+# URL : https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/QA/Scripts#thermal_04
+
+source ../include/functions.sh
+source ../include/thermal_functions.sh
+HEAT_CPU_MODERATE=../utils/heat_cpu moderate
+
+verify_cooling_device_temp_change() {
+ local dirpath=$THERMAL_PATH/$1
+ local cdev_name=$1
+ shift 1
+ local tzonepath=$THERMAL_PATH/thermal_zone0
+ test -d $tzonepath
+ if [ $? -ne 0 ] ; then
+ echo "No thermal zone present"
+ return 1;
+ fi
+ local max_state=$(cat $dirpath/max_state)
+ local prev_state_val=$(cat $dirpath/cur_state)
+ local prev_mode_val=$(cat $tzonepath/mode)
+ echo -n disabled > $tzonepath/mode
+
+ local count=1
+ local cur_state_val=0
+ local init_temp=0
+ local final_temp=0
+ local cool_temp=0
+ ./$HEAT_CPU_MODERATE &
+ pid=$!
+
+ while (test $count -le $max_state); do
+ echo 0 > $dirpath/cur_state
+ sleep 5
+ init_temp=$(cat $tzonepath/temp)
+
+ echo $count > $dirpath/cur_state
+ sleep 5
+ final_temp=$(cat $tzonepath/temp)
+ cool_temp=$(($init_temp - $final_temp))
+ check "$cdev_name:state=$count effective cool=$cool_temp "\
+ "test $final_temp -lt $init_temp"
+ count=$((count+1))
+ done
+ kill -9 $pid
+ echo $prev_mode_val > $tzonepath/mode
+ echo $prev_state_val > $dirpath/cur_state
+}
+
+for_each_cooling_device verify_cooling_device_temp_change
diff --git a/thermal/thermal_04.txt b/thermal/thermal_04.txt
new file mode 100644
index 0000000..0f467ff
--- /dev/null
+++ b/thermal/thermal_04.txt
@@ -0,0 +1 @@
+test/verify the cooling device are lowering the temperature down