blob: d35cb90f547994d938f47e9ed13ce8c4c91fad48 [file] [log] [blame]
#############################################################################
# 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