Thanks. I will test them and get back to you soon.

Regards--
Subrata

On Mon, 2008-10-20 at 20:14 +0530, Nageswara R Sastry wrote:
> Subrata Modak wrote:
> > On Fri, 2008-10-17 at 14:50 +0530, Nageswara R Sastry wrote:
> >> The Power Management basic testcases are aimed at the user level testing 
> >> of the features like cpufrequency and sched_mc. More details are at README
> >>
> >> Signed-Off-By: Nageswara R Sastry <[EMAIL PROTECTED]>
> > 
> > Thanks once again Nageswara for contributing the Power Management Test
> > cases to LTP. I have tested them on x86_64, ppc64 & i386 systems running
> > 2.6.27 kernels with the following options enabled as per your README:
> > 
> 
> Subrata, These tests support only x86_64 and i386. Sorry for not 
> mentioning previously and now I updated README file also.
> > 
> > Can you kindly look into them and submit a refreshed patch once again ?
> 
> Please find the attached refreshed patch.
> Thanks and Regards
> R.Nageswara Sastry
> 
> plain text document attachment (ltp_pwmng_testcases_v2.patch)
> diff -uprN ltp-full-20080930/runtest/power_management_tests 
> ltp-full-20080930_pwmng/runtest/power_management_tests
> --- ltp-full-20080930/runtest/power_management_tests  1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/runtest/power_management_tests    2008-10-20 
> 19:26:09.000000000 +0530
> @@ -0,0 +1 @@
> +POWER_MANAGEMENT runpwtests.sh
> diff -uprN ltp-full-20080930/testcases/kernel/Makefile 
> ltp-full-20080930_pwmng/testcases/kernel/Makefile
> --- ltp-full-20080930/testcases/kernel/Makefile       2008-09-30 
> 18:06:39.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/Makefile 2008-10-20 
> 19:25:26.000000000 +0530
> @@ -1,4 +1,4 @@
> -SUBDIRS = numa containers controllers connectors include fs io ipc mem pty 
> sched security syscalls timers
> +SUBDIRS = pwmng numa containers controllers connectors include fs io ipc mem 
> pty sched security syscalls timers
>  UCLINUX_SUBDIRS = syscalls
> 
>  all:
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/change_freq.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/change_freq.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/change_freq.sh   1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/change_freq.sh     
> 2008-10-20 20:06:00.000000000 +0530
> @@ -0,0 +1,36 @@
> +#!/bin/bash
> +
> +. pm_include.sh
> +available_freq=$(get_supporting_freq)
> +available_govr=$(get_supporting_govr)
> +RC=0
> +
> +total_cpus=$(no_of_cpus)
> +(( total_cpus-=1 ))
> +
> +if ( echo ${available_govr} | grep -i "userspace" 2>&1 >/dev/null ) ; then
> +     for cpu in $(seq 0 "${total_cpus}" )
> +     do
> +             echo userspace > 
> /sys/devices/system/cpu/cpu${cpu}/cpufreq/scaling_governor
> +             if [ $? -ne 0 ] ; then
> +                     RC=1
> +             fi
> +     done
> +     if [ ${RC} -ne 1 ] ; then
> +             for cpu in $(seq 0 "${total_cpus}" )
> +             do
> +                     for freq in ${available_freq}
> +                     do
> +                             echo ${freq} > 
> /sys/devices/system/cpu/cpu${cpu}/cpufreq/scaling_setspeed
> +                             if [ "$?" -ne "0" ] ; then
> +                                     echo "${0}: FAIL: Unable to set 
> frequency -- ${freq} for cpu${cpu}"
> +                                     RC=1
> +                             fi
> +                     done
> +             done
> +     fi
> +fi
> +if [ ${RC} -eq 0 ] ; then
> +     echo "${0}: PASS: Changing cpu frequencies"
> +fi
> +#return $RC
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/change_govr.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/change_govr.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/change_govr.sh   1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/change_govr.sh     
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,24 @@
> +#!/bin/bash
> +
> +. pm_include.sh
> +available_govr=$(get_supporting_govr)
> +
> +total_cpus=$(no_of_cpus)
> +(( total_cpus-=1 ))
> +RC=0
> +
> +for cpu in $(seq 0 "${total_cpus}" )
> +do
> +     for govr in ${available_govr}
> +     do
> +             echo ${govr} > 
> /sys/devices/system/cpu/cpu${cpu}/cpufreq/scaling_governor
> +             if [ "$?" -ne "0" ] ; then
> +                     echo "${0}: FAIL: Unable to set governor -- ${govr} for 
> cpu${cpu}"
> +                     RC=1
> +             fi
> +     done
> +done
> +if [ ${RC} -eq 0 ] ; then
> +     echo "${0}: PASS: Changing cpu governors"
> +fi
> +#return $RC
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/check_config.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/check_config.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/check_config.sh  1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/check_config.sh    
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,32 @@
> +#!/bin/bash
> +
> +. pm_include.sh
> +
> +if [ $# -lt 1 ] ; then
> +     echo "Usage: ${0} <filename>"
> +     RC=1
> +     return ${RC}
> +fi
> +filename=${1}
> +
> +RC=0
> +grep_command=grep
> +config_file=/boot/config-$(uname -r)
> +if [ ! -f ${config_file} ]; then
> +     echo "MISSING_FILE: can't find the required config file at 
> /boot/config-$(uname -r)"
> +     echo "Trying for alternate file at /proc/config.gz"
> +     config_file=/proc/config.gz
> +fi
> +if [ ! -f ${config_file} ]; then
> +     echo "MISSING_FILE: can't find the required config file at 
> /proc/config.gz"
> +     RC=1
> +fi
> +if [ "${config_file}" = "/proc/config.gz" ] ; then
> +     grep_command=zgrep
> +fi
> +
> +while read config_option 
> +do
> +     check_config_options "${config_option}=*" ${config_file} ${grep_command}
> +done < ${filename}
> +#return ${RC}
> diff -uprN 
> ltp-full-20080930/testcases/kernel/pwmng/check_cpufreq_sysfs_files.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/check_cpufreq_sysfs_files.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/check_cpufreq_sysfs_files.sh     
> 1970-01-01 05:30:00.000000000 +0530
> +++ 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/check_cpufreq_sysfs_files.sh   
>     2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,24 @@
> +#!/bin/bash
> +
> +. pm_include.sh
> +
> +total_cpus=$(no_of_cpus)
> +(( total_cpus-=1 ))
> +RC=0
> +
> +for cpu in $(seq 0 "${total_cpus}" )
> +do
> +     cpufiles=$(find /sys/devices/system/cpu/cpu"${cpu}"/cpufreq/ -name "*" 
> -type f)
> +     for files in ${cpufiles}
> +     do
> +             cat ${files} 2>&1 >/dev/null
> +             if [ $? -ne 0 ] ; then
> +                     echo "${0}: FAIL: cat ${files}"
> +                     RC=1
> +             fi
> +     done
> +done
> +if [ ${RC} -eq 0 ] ; then
> +     echo "${0}: PASS: Checking cpu freq sysfs files"
> +fi
> +#return $RC
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/check_kv_arch.c 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/check_kv_arch.c
> --- ltp-full-20080930/testcases/kernel/pwmng/check_kv_arch.c  1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/check_kv_arch.c    
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,41 @@
> +/************************************************************************
> +* Copyright (c) International Business Machines Corp., 2008
> +* 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
> +*
> +***************************************************************************/
> +#include <stdio.h>
> +#include <test.h>
> +
> +int kernel_is_too_old(void) {
> +     if (tst_kvercmp(2,6,21) < 0)
> +             return 1;
> +     return 0;
> +}
> +
> +/*
> + * yeah, to make the makefile coding easier, do_check returns 
> + * 1 if unshare is not supported, 0 if it is
> + */
> +#ifdef __i386__
> +int do_check(void) { return kernel_is_too_old(); }
> +#elif __x86_64__
> +int do_check(void) { return kernel_is_too_old(); }
> +#else
> +int do_check(void) { return 1; }
> +#endif
> +
> +int main() {
> +     return do_check();
> +}
> +
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/config_cpu_freq 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/config_cpu_freq
> --- ltp-full-20080930/testcases/kernel/pwmng/config_cpu_freq  1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/config_cpu_freq    
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,7 @@
> +CONFIG_CPU_FREQ
> +CONFIG_CPU_FREQ_TABLE
> +CONFIG_CPU_FREQ_DEBUG
> +CONFIG_CPU_FREQ_STAT
> +CONFIG_CPU_FREQ_STAT_DETAILS
> +CONFIG_CPU_FREQ_DEFAULT_GOV_*
> +CONFIG_CPU_FREQ_GOV_*
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/config_cpu_idle 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/config_cpu_idle
> --- ltp-full-20080930/testcases/kernel/pwmng/config_cpu_idle  1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/config_cpu_idle    
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,3 @@
> +CONFIG_CPU_IDLE
> +CONFIG_CPU_IDLE_GOV_LADDER
> +CONFIG_CPU_IDLE_GOV_MENU
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/config_sched_mc 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/config_sched_mc
> --- ltp-full-20080930/testcases/kernel/pwmng/config_sched_mc  1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/config_sched_mc    
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1 @@
> +CONFIG_SCHED_MC
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/Makefile 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/Makefile
> --- ltp-full-20080930/testcases/kernel/pwmng/Makefile 1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/Makefile   2008-10-20 
> 19:24:56.000000000 +0530
> @@ -0,0 +1,42 @@
> +################################################################################
> +##                                                                           
>  ##
> +## Copyright (c) International Business Machines  Corp., 2008                
>  ##
> +##                                                                           
>  ##
> +## 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA   
>  ##
> +##                                                                           
>  ##
> +################################################################################
> +
> +all:
> +     @set -e; $(MAKE) check_kv_arch ;
> +
> +check_kv_arch: check_kv_arch.c
> +     $(CC) -o $@ $< ../../../lib/tst_kvercmp.c -I../../../include
> +
> +install:
> +     @set -e; ln -f check_kv_arch ../../bin/check_kv_arch; \
> +     ln -f  change_freq.sh ../../bin/change_freq.sh; \
> +     ln -f  change_govr.sh ../../bin/change_govr.sh; \
> +     ln -f  check_cpufreq_sysfs_files.sh 
> ../../bin/check_cpufreq_sysfs_files.sh; \
> +     ln -f  check_config.sh ../../bin/check_config.sh; \
> +     ln -f  pwkm_load_unload.sh ../../bin/pwkm_load_unload.sh; \
> +     ln -f  pm_include.sh ../../bin/pm_include.sh; \
> +     ln -f  runpwtests.sh ../../bin/runpwtests.sh; \
> +     ln -f  test_sched_mc.sh ../../bin/test_sched_mc.sh; \
> +     ln -f  config_cpu_freq ../../bin/config_cpu_freq; \
> +     ln -f  config_cpu_idle ../../bin/config_cpu_idle; \
> +     ln -f  config_sched_mc ../../bin/config_sched_mc;
> +clean:
> +     rm -f check_kv_arch
> +
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/pm_include.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/pm_include.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/pm_include.sh    1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/pm_include.sh      
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,63 @@
> +#!/bin/bash
> +
> +TMPDIR=/tmp
> +
> +PASS=0
> +FAIL=1
> +NOSUPPORT=2
> +MISSING_FILE=3
> +UNTESTED=4
> +
> +function cleanup() {
> +     if [ -f ${1} ] ; then
> +             rm -f ${1}
> +     fi
> +}
> +function check_config_options() {
> +     if ( ! ${3} "${1}" ${2} | grep -v "#" > /dev/null ) ; then
> +             echo "NOSUPPORT: current system dosen't support ${1}"
> +     fi
> +}
> +function no_of_cpus() {
> +     echo $(cat /proc/cpuinfo | grep processor | wc -l)
> +}
> +function get_topology() {
> +     declare -a cpus
> +     declare -a phyid
> +
> +     total_cpus=$(no_of_cpus)
> +     (( total_cpus-=1 ))
> +     for cpu in $(seq 0 "${total_cpus}" )
> +     do
> +             cpus[$cpu]=cpu${cpu}
> +             phyid[$cpu]=$(cat 
> /sys/devices/system/cpu/cpu${cpu}/topology/physical_package_id)
> +     done 
> +     j=0
> +     while [ "${j}" -lt "${total_cpus}" ]
> +     do
> +             (( k = $j + 1 ))
> +             if [ ${phyid[$j]} -eq ${phyid[$k]} ] ; then
> +                     echo "${cpus[$j]} -P ${cpus[$k]}" | sed -e "s/cpu//g"
> +             fi
> +             (( j+=1 ))
> +     done
> +}
> +function check_cpufreq() {
> +     total_cpus=$(no_of_cpus)
> +     (( total_cpus-=1 ))
> +
> +     for cpu in $(seq 0 "${total_cpus}" )
> +     do
> +             if [ ! -d /sys/devices/system/cpu/cpu${cpu}/cpufreq ] ; then
> +                     echo "NOSUPPORT: cpufreq support not found please check 
> Kernel configuration or BIOS settings"
> +                     exit $NOSUPPORT
> +             fi
> +     done
> +}
> +function get_supporting_freq() {
> +     cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies 
> | uniq   
> +}
> +function get_supporting_govr() {
> +     cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_governors | 
> uniq
> +}
> +
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/pwkm_load_unload.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/pwkm_load_unload.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/pwkm_load_unload.sh      
> 1970-01-01 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/pwkm_load_unload.sh        
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,19 @@
> +#!/bin/bash
> +
> +#Loading modules
> +for module in cpufreq_conservative cpufreq_powersave cpufreq_userspace
> +do
> +     #echo -n "Loading $module ... "
> +     modprobe $module >/dev/null
> +     if [ $? -ne 0 ] ; then
> +             echo "${0}: FAIL: Loading of module $module or check whether 
> you compiled as module or not"
> +     fi
> +done
> +for module in cpufreq_conservative cpufreq_powersave cpufreq_userspace
> +do
> +     #echo -n "Unloading $module ... "
> +     modprobe -r $module >/dev/null
> +     if [ $? -ne 0 ] ; then
> +             echo "${0}: FAIL: Loading of module $module or check whether 
> you compiled as module or not"
> +     fi
> +done
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/README 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/README
> --- ltp-full-20080930/testcases/kernel/pwmng/README   1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/README     2008-10-20 
> 19:28:56.000000000 +0530
> @@ -0,0 +1,68 @@
> +################################################################################
> +##                                                                           
>  ##
> +## Copyright (c) International Business Machines  Corp., 2007                
>  ##
> +##                                                                           
>  ##
> +## 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA   
>  ##
> +##                                                                           
>  ##
> +################################################################################
> +
> +POWER MANAGEMENT TESTS AUTOMATION SUITE
> +----------------------------------------
> +The tests requires the Kernel to  be compiled with the following config's
> +
> +for CPU FREQUENCY tests:
> + 
> +CONFIG_CPU_FREQ
> +CONFIG_CPU_FREQ_TABLE
> +CONFIG_CPU_FREQ_DEBUG
> +CONFIG_CPU_FREQ_STAT
> +CONFIG_CPU_FREQ_STAT_DETAILS
> +CONFIG_CPU_FREQ_DEFAULT_GOV_*
> +CONFIG_CPU_FREQ_GOV_*
> +
> +for CPU IDLE tests:
> +
> +CONFIG_CPU_IDLE
> +CONFIG_CPU_IDLE_GOV_LADDER
> +CONFIG_CPU_IDLE_GOV_MENU
> +
> +for SCHED_MC tests:
> +
> +CONFIG_SCHED_MC
> +
> +The power management test automation suite helps run the power management 
> functionality
> +(e.g: cpu frequency, cpu idle etc..) tests and report results. 
> +
> +Test Scripts for CPU FREQUENCY:
> +change_freq.sh
> +change_govr.sh
> +check_cpufreq_sysfs_files.sh
> +
> +Test Scripts for CPU IDLE:
> +will be added soon
> +
> +Test Scripts for SCHED_MC:
> +test_sched_mc.sh
> +
> +Common functionality:
> +pm_include.sh
> +check_kv_arch.c 
> +pwkm_load_unload.sh
> +
> +To run your tests you can execute the runpwtests.sh
> +
> +To run the tests individually :
> +
> +P.S. As of now the supporting architecture(s) are x86,x86_64
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/runpwtests.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/runpwtests.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/runpwtests.sh    1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/runpwtests.sh      
> 2008-10-20 19:45:29.000000000 +0530
> @@ -0,0 +1,97 @@
> +################################################################################
> +##                                                                           
>  ##
> +## Copyright (c) International Business Machines  Corp., 2001                
>  ##
> +##                                                                           
>  ##
> +## 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA   
>  ##
> +##                                                                           
>  ##
> +################################################################################
> +#
> +# File :        test_powermanagement.sh
> +#
> +# Description:  
> +#
> +# Author:       Nageswara R Sastry <[EMAIL PROTECTED]>
> +#
> +# History:      26 Aug 2008 - Created this file
> +#
> +#! /bin/sh 
> +
> +# Exporting Required variables
> +
> +export TST_TOTAL=1
> +LTPTMP=${TMP}
> +LTPROOT=../../bin
> +export PATH=${PATH}:.
> +export TCID="Power Management"
> +export TST_COUNT=0
> +
> +# Function:     main
> +#
> +# Description:  - Execute all tests, exit with test status.
> +#
> +# Exit:         - zero on success
> +#               - non-zero on failure.
> +#
> +RC=0         #Return status
> +
> +# Checking required kernel version and architecture
> +check_kv_arch || RC=$?
> +if [ $RC -eq 1 ] ; then
> +     tst_resm TFAIL "Kernel version or Architecture not supported: Not 
> running testcases"
> +     #exit 0
> +fi
> +
> +# Checking sched_mc sysfs interface
> +#check_config.sh config_sched_mc || RC=$?
> +if [ -f /sys/devices/system/cpu/sched_mc_power_savings ] ; then
> +     test_sched_mc.sh || RC=$?
> +     if [ $RC -eq 1 ] ; then
> +             tst_resm TFAIL "SCHED_MC sysfs tests failed"
> +     fi
> +else
> +     tst_resm TFAIL "Required kernel configuration for SCHED_MC NOT set"
> +       #exit 0
> +fi
> +
> +# Checking cpufreq sysfs interface files
> +#check_config.sh config_cpu_freq || RC=$?
> +if [ -d /sys/devices/system/cpu/cpu0/cpufreq ] ; then
> +     check_cpufreq_sysfs_files.sh || RC=$?
> +     if [ $RC -eq 1 ] ; then
> +             tst_resm TFAIL "CPUFREQ sysfs tests failed"
> +     fi
> +
> +     # Changing governors
> +     change_govr.sh || RC=$?
> +     if [ $RC -eq 1 ] ; then
> +             tst_resm TFAIL "Changing governors failed"
> +     fi
> +
> +     # Changing frequencies
> +     change_freq.sh || RC=$?
> +     if [ $RC -eq 1 ] ; then
> +             tst_resm TFAIL "Changing frequncies failed"
> +     fi
> +
> +     # Loading and Unloading governor related kernel modules
> +     pwkm_load_unload.sh || RC=$?
> +     if [ $RC -eq 1 ] ; then
> +             tst_resm TFAIL "Loading and Unloading of governor kernel 
> modules got failed"
> +     fi
> +else
> +       tst_resm TFAIL "Required kernel configuration for CPU_FREQ NOT set"
> +       #exit 0
> +fi
> +
> diff -uprN ltp-full-20080930/testcases/kernel/pwmng/test_sched_mc.sh 
> ltp-full-20080930_pwmng/testcases/kernel/pwmng/test_sched_mc.sh
> --- ltp-full-20080930/testcases/kernel/pwmng/test_sched_mc.sh 1970-01-01 
> 05:30:00.000000000 +0530
> +++ ltp-full-20080930_pwmng/testcases/kernel/pwmng/test_sched_mc.sh   
> 2008-10-20 19:24:56.000000000 +0530
> @@ -0,0 +1,45 @@
> +#!/bin/bash
> +
> +. pm_include.sh
> +
> +valid_input="0 1"
> +invalid_input="a 2 abcefg x1999 xffff -1 -00000 
> 200000000000000000000000000000000000000000000000000000000000000000000000000000
>  ox324 -0xfffffffffffffffffffff"
> +test_file="/sys/devices/system/cpu/sched_mc_power_savings"
> +if [ ! -f ${test_file} ] ; then
> +     echo "MISSING_FILE: missing file ${test_file}"
> +     exit $MISSING_FILE
> +fi
> +
> +function check_input() {
> +     validity_check=${2:-valid}
> +     if [ "${validity_check}" = "invalid" ] ; then
> +             PASS="Testcase FAIL - Able to execute"
> +             FAIL="Testcase PASS - Unable to execute"
> +     else
> +             PASS="Testcase PASS"
> +             FAIL="Testcase FAIL"
> +     fi
> +     for input in ${1}
> +     do
> +             echo ${input} > ${test_file} 2>/dev/null
> +             return_value=$?
> +             output=$(cat ${test_file})
> +             if [ "${return_value}" = "0" -a "${input}" = "${output}" ] ; 
> then
> +                     echo "${0}: ${PASS}: echo ${input} > ${test_file}"
> +                     if [ "${validity_check}" = "invalid" ] ; then
> +                             RC=1
> +                     fi
> +             else
> +                     echo "${0}: ${FAIL}: echo ${input} > ${test_file}"
> +                     if [ "${validity_check}" = "valid" ] ; then
> +                             RC=1
> +                     fi
> +             fi
> +     done
> +}
> +RC=0
> +echo "${0}: ---Valid test cases---"
> +check_input "${valid_input}"
> +echo "${0}: ---Invalid test cases---"
> +check_input "${invalid_input}" invalid
> +#return $RC


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to