| #! /bin/bash |
| # |
| # LTP-DDT Test wrapper |
| # |
| # Copyright (C) 2015, 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. |
| # |
| # |
| |
| usage() |
| { |
| cat <<-EOF >&2 |
| |
| usage: ./${0##*/} [-p LTP_PATH] [-f CMD_FILES(,...)] [-s PATTERNS(,...)] |
| -f CMDFILES Execute user defined list of testcases (separate with ',') |
| -h Help. Prints all available options. |
| -p LTP_PATH Default path for ltp-ddt. Default path is /opt/ltp |
| -P PLATFORM Platform to run tests on. Used to filter device driver tests (ddt) |
| -s PATTERNS Only run test cases which match PATTERNS. Patterns seperated by ',' |
| |
| example: ./${0##*/} -p /home/test/ltp -f ddt/memtest -s IN_ALL_BANK,OUT_ALL_BANK |
| |
| EOF |
| exit 0 |
| } |
| |
| main() |
| { |
| # Absolute path to this script. /home/user/bin/foo.sh |
| SCRIPT=$(readlink -f $0) |
| # Absolute path this script is in. /home/user/bin |
| SCRIPTPATH=`dirname $SCRIPT` |
| echo "Script path is: $SCRIPTPATH" |
| |
| CMD_FILES="" |
| PATTERNS="" |
| PATTERNS_OPTION="" |
| PLATFORM="" |
| #default path for ltp-ddt |
| LTP_PATH="/opt/ltp" |
| LOG_FILE="default" |
| |
| while getopts p:f:s:P:h arg |
| do |
| case $arg in |
| p) LTP_PATH="$OPTARG";; |
| P) PLATFORM="-P $OPTARG";; |
| f) |
| CMD_FILES="$OPTARG" |
| LOG_FILE=`echo $OPTARG| sed 's,\/,_,'`;; |
| s) PATTERNS="-s $OPTARG";; |
| h) usage;; |
| esac |
| echo $arg |
| done |
| if [ -z "$CMD_FILES" ]; then |
| echo "WARNING: Will run all ltp-ddt testcases or all those that match PATTERNS" |
| fi |
| |
| if [ -n "$PATTERNS" ]; then |
| PATTERNS_OPTION="-s $PATTERNS" |
| fi |
| |
| ## Second parameter is used as a path to LTP installation |
| cd $LTP_PATH |
| ./runltp -p -q -f ${CMD_FILES} $PLATFORM $PATTERNS -l $SCRIPTPATH/LTP_${LOG_FILE}.log \ |
| -C $SCRIPTPATH/LTP_${LOG_FILE}.failed | tee $SCRIPTPATH/LTP_${LOG_FILE}.out |
| tar -czvf $SCRIPTPATH/LTP_${LOG_FILE}.tar.gz $SCRIPTPATH/LTP* |
| lava-test-case-attach LTP_$1 $SCRIPTPATH/LTP_${LOG_FILE}.tar.gz |
| exit 0 |
| } |
| main "$@" |