On Mon, Jul 2, 2012 at 9:13 PM, Rajagopal Venkat
<rajagopal.ven...@linaro.org> wrote:
> add powertop test cases into pm-qa. Run the powertop sanity
> test to check if tool is available. If yes, then run
> powertop in report generation mode and validate the output.
>
> Signed-off-by: Rajagopal Venkat <rajagopal.ven...@linaro.org>
> ---
>  Makefile                     |    1 +
>  powertop/Makefile            |   25 ++++++++++++++++++
>  powertop/powertop_01.sh      |   58 
> ++++++++++++++++++++++++++++++++++++++++++
>  powertop/powertop_01.txt     |    1 +
>  powertop/powertop_sanity.sh  |   35 +++++++++++++++++++++++++
>  powertop/powertop_sanity.txt |    1 +
>  6 files changed, 121 insertions(+)
>  create mode 100644 powertop/Makefile
>  create mode 100755 powertop/powertop_01.sh
>  create mode 100644 powertop/powertop_01.txt
>  create mode 100755 powertop/powertop_sanity.sh
>  create mode 100644 powertop/powertop_sanity.txt
>
> diff --git a/Makefile b/Makefile
> index f85e5ac..1e73608 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -33,6 +33,7 @@ check:
>         @(cd sched_mc; $(MAKE) check)
>  #      @(cd suspend; $(MAKE) check)
>  #      @(cd thermal; $(MAKE) check)
> +#      @(cd powertop; $(MAKE) check)
>
>  uncheck:
>         @(cd cpufreq; $(MAKE) uncheck)
> diff --git a/powertop/Makefile b/powertop/Makefile
> new file mode 100644
> index 0000000..412edb5
> --- /dev/null
> +++ b/powertop/Makefile
> @@ -0,0 +1,25 @@
> +#
> +# 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:
> +#     Rajagopal Venkat <rajagopal.ven...@linaro.org>
> +#       - initial API and implementation
> +#
> +
> +include ../Test.mk
> diff --git a/powertop/powertop_01.sh b/powertop/powertop_01.sh
> new file mode 100755
> index 0000000..3427899
> --- /dev/null
> +++ b/powertop/powertop_01.sh
> @@ -0,0 +1,58 @@
> +#!/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:
> +#     Rajagopal Venkat <rajagopal.ven...@linaro.org>
> +#       - initial API and implementation
> +#
> +
> +# URL : 
> https://wiki.linaro.org/WorkingGroups/PowerManagement/Doc/QA/Scripts#powertop_01
> +
> +source ../include/functions.sh
> +
> +run_powertop() {
> +
> +    local bin_name=powertop

Is is safe to assume that powertop is always in the PATH? Even on Android?

> +    local report=csv
> +    local seconds=10
> +    local iterations=2
> +    local report_name=PowerTOP*.csv
> +
> +    # remove old reports if exists
> +    rm -f $report_name
> +
> +    # run powertop for $(iterations) in report generation mode
> +    start_time=`date +%s`
> +    sudo $bin_name --$report --time=$seconds --iteration=$iterations
> +    end_time=`date +%s`
> +
> +    # check if powertop run for desired time
> +    let expected_time="$iterations * $seconds"
> +    let actual_time="$end_time - $start_time"
> +
> +    check "if powertop run for $expected_time sec" "test $actual_time -ge 
> $expected_time"
> +
> +    # check if $(iterations) number of reports are generated
> +    check "if reports are generated" "test $(ls $report_name | wc -l) -eq 
> $iterations"


     ^^^^^^   Isn't 'ls -1' required for this to succeed?


In general, I'd use mktemp -d and put the logs in a random temporary
directory each time, but I guess that won't work on Android?

> +
> +    return 0
> +}
> +
> +run_powertop
> diff --git a/powertop/powertop_01.txt b/powertop/powertop_01.txt
> new file mode 100644

empty file?

> index 0000000..0caa6f0
> --- /dev/null
> +++ b/powertop/powertop_01.txt
> @@ -0,0 +1 @@
> +run powertop for 2 iterations of 10sec each
> diff --git a/powertop/powertop_sanity.sh b/powertop/powertop_sanity.sh
> new file mode 100755
> index 0000000..3ae3065
> --- /dev/null
> +++ b/powertop/powertop_sanity.sh
> @@ -0,0 +1,35 @@
> +#!/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:
> +#     Rajagopal Venkat <rajagopal.ven...@linaro.org>
> +#       - initial API and implementation
> +#
> +
> +source ../include/functions.sh
> +
> +check_powertop() {
> +
> +    local bin_name=powertop
> +
> +    command -v $bin_name >/dev/null 2>&1 && return 1 || return 0
> +}
> +
> +check_powertop
> diff --git a/powertop/powertop_sanity.txt b/powertop/powertop_sanity.txt
> new file mode 100644

empty file?

> index 0000000..1a182ae
> --- /dev/null
> +++ b/powertop/powertop_sanity.txt
> @@ -0,0 +1 @@
> +powertop is not available. Skipping all tests...
> --
> 1.7.9.5
>
>
> _______________________________________________
> linaro-dev mailing list
> linaro-dev@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-dev

_______________________________________________
linaro-dev mailing list
linaro-dev@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-dev

Reply via email to