| ############################################################################# |
| # Copyright (c) 2013 Linaro |
| # All rights reserved. This program and the accompanying materials |
| # are made available under the terms of the Eclipse Public License v1.0 |
| # which accompanies this distribution, and is available at |
| # http://www.eclipse.org/legal/epl-v10.html |
| # |
| # Contributors: |
| # Linaro <linaro-dev@lists.linaro.org> |
| ############################################################################# |
| |
| usage() { |
| echo "" |
| echo "Usage: $0 [-h] [-t testnames]" |
| echo "" |
| echo "Runs all tests if no arguments are given." |
| echo "" |
| echo "-h prints this help mesage." |
| echo "-t testnames, run specified tests." |
| echo " currently supported:" |
| echo " ashmem" |
| echo " ashmem_expanded" |
| echo " alarmdev" |
| echo " logger" |
| echo " binder" |
| echo " sync" |
| echo " vfat" |
| echo " evdev" |
| echo "" |
| echo "example:" |
| echo "$ linaro-android-kernel-tests -t \"logger binder\"" |
| } |
| |
| |
| run_ashmemtest() |
| { |
| echo "Running basic ashmemtest." |
| ashmemtest |
| } |
| |
| run_ashmemtest_expanded() |
| { |
| echo "Running expanded ashmemtest." |
| DIR=/data/linaro-android-kernel-test/ashmemtest-expanded |
| FILES=$DIR/*.txt |
| |
| for f in $FILES |
| do |
| BASENAME=${f##*/} |
| TESTNAME="${BASENAME%.*}" |
| echo "running $TESTNAME" |
| |
| ashmemtest-expanded $f &> $DIR/tmp.out |
| |
| diff $DIR/tmp.out $DIR/$TESTNAME.out > /dev/null |
| if [ $? -eq 0 ]; then |
| cat $DIR/tmp.out |
| echo "[ashmem_expanded_$TESTNAME]: test passed" |
| else |
| cat $DIR/tmp.out |
| echo "[ashmem_expanded_$TESTNAME]: test failed" |
| fi |
| rm $DIR/tmp.out |
| done |
| } |
| |
| run_alarm_dev_test() |
| { |
| echo "Running alarm dev test." |
| stop |
| sleep 20 |
| alarm-dev-test |
| start |
| sleep 60 |
| |
| if [ $? -eq 0 ]; then |
| echo "[alarmdevtest]: test passed" |
| else |
| echo "[alarmdevtest]: test failed" |
| fi |
| } |
| |
| run_logger_test() |
| { |
| echo "Running logger dev test." |
| |
| for log in main events radio system |
| do |
| echo "Running for log: $log" |
| loggerdevtest $log |
| |
| if [ $? -eq 0 ]; then |
| echo "[loggerdevtest_$log]: test passed" |
| else |
| echo "[loggerdevtest_$log]: test failed" |
| fi |
| done |
| } |
| |
| run_binder_test() { |
| echo "Running binder test." |
| bindertest.sh |
| } |
| |
| run_sync_test() { |
| echo "Running sync test." |
| sync-basic |
| } |
| |
| run_vfat_test() { |
| echo "Running vfat test." |
| vfat-volid-test.sh |
| } |
| |
| run_evdev_test() { |
| echo "Running evdev test." |
| juice_evtest.sh |
| } |
| |
| run_all() { |
| echo "Running all tests" |
| TESTS="ashmem ashmem_expanded alarmdev logger binder sync vfat evdev" |
| run_tests |
| } |
| |
| run_tests() { |
| for TEST in $TESTS; |
| do |
| case $TEST in |
| ashmem) |
| run_ashmemtest |
| ;; |
| ashmem_expanded) |
| run_ashmemtest_expanded |
| ;; |
| alarmdev) |
| run_alarm_dev_test |
| ;; |
| logger) |
| run_logger_test |
| ;; |
| binder) |
| run_binder_test |
| ;; |
| sync) |
| run_sync_test |
| ;; |
| vfat) |
| run_vfat_test |
| ;; |
| evdev) |
| run_evdev_test |
| ;; |
| *) |
| echo "" |
| echo "Unrecognized test $TEST." |
| usage |
| exit |
| ;; |
| esac |
| done |
| } |
| |
| TESTS= |
| |
| # no input argument |
| # run all tests |
| if [ $# -eq 0 ]; then |
| run_all |
| exit |
| fi |
| |
| while getopts "ht:" OPT |
| do |
| case $OPT in |
| h) |
| usage |
| exit 1 |
| ;; |
| t) |
| TESTS=$OPTARG |
| ;; |
| *) |
| usage |
| exit |
| esac |
| done |
| |
| run_tests |