diff options
author | Naresh Kamboju <naresh.kamboju@linaro.org> | 2017-01-18 15:51:02 +0530 |
---|---|---|
committer | Naresh Kamboju <naresh.kamboju@linaro.org> | 2017-01-18 15:51:02 +0530 |
commit | 278ef9212ddcc5d04d64dcee071acdfb39a593c1 (patch) | |
tree | 456855b1bcc8374cbba87efbaba6a6f743ac1dd3 | |
parent | 54b2e3a1d945e04852d1182c450a19814a60b057 (diff) |
LTP test definitions improved to support non package manager distributions.
pipe0_status () function being used for runltp and get return status.
Stop adding total number of test cases in LAVA results summary.
Fixed shellcheck issues.
Signed-off-by: Naresh Kamboju <naresh.kamboju@linaro.org>
-rwxr-xr-x | automated/linux/ltp/ltp.sh | 42 |
1 files changed, 15 insertions, 27 deletions
diff --git a/automated/linux/ltp/ltp.sh b/automated/linux/ltp/ltp.sh index 90ae06a..39236d6 100755 --- a/automated/linux/ltp/ltp.sh +++ b/automated/linux/ltp/ltp.sh @@ -4,10 +4,10 @@ OUTPUT="$(pwd)/output" RESULT_FILE="${OUTPUT}/result.txt" # Absolute path to this script. /home/user/bin/foo.sh -SCRIPT="$(readlink -f $0)" +SCRIPT="$(readlink -f "${0}")" # Absolute path this script is in. /home/user/bin -SCRIPTPATH="$(dirname $SCRIPT)" -echo "Script path is: "${SCRIPTPATH}"" +SCRIPTPATH="$(dirname "${SCRIPT}")" +echo "Script path is: ${SCRIPTPATH}" # List of test cases TST_CMDFILES="" # List of test cases to be skipped @@ -18,7 +18,7 @@ LTP_VERSION="20160920" LTP_PATH=/opt/ltp usage() { - echo "Usage: $0 [-T mm,math,syscalls] [-S skipfile-lsk-juno] [-s <flase>] [-v LTP_VERSION]" 1>&2 + echo "Usage: ${0} [-T mm,math,syscalls] [-S skipfile-lsk-juno] [-s <flase>] [-v LTP_VERSION]" 1>&2 exit 0 } @@ -26,18 +26,19 @@ while getopts "T:S:s:v:" arg; do case "$arg" in T) TST_CMDFILES="${OPTARG}" + # shellcheck disable=SC2001 LOG_FILE=$(echo "${OPTARG}"| sed 's,\/,_,') ;; S) OPT=$(echo "${OPTARG}" | grep "http") if [ -z "${OPT}" ] ; then # LTP skipfile - SKIPFILE="-S "${SCRIPTPATH}"/"${OPTARG}"" + SKIPFILE="-S ${SCRIPTPATH}/${OPTARG}" else # Download LTP skipfile from speficied URL - wget "${OPTARG}" - SKIPFILE=$(echo "${OPTARG##*/}") - SKIPFILE="-S $(pwd)/${SKIPFILE}" + wget "${OPTARG}" -O "skipfile" + SKIPFILE="skipfile" + SKIPFILE="-S ${SCRIPTPATH}/${SKIPFILE}" fi ;; # SKIP_INSTALL is true in case of Open Embedded builds @@ -52,6 +53,7 @@ install_ltp() { rm -rf /opt/ltp mkdir -p /opt/ltp cd /opt/ltp + # shellcheck disable=SC2140 wget https://github.com/linux-test-project/ltp/releases/download/"${LTP_VERSION}"/ltp-full-"${LTP_VERSION}".tar.xz tar --strip-components=1 -Jxf ltp-full-"${LTP_VERSION}".tar.xz ./configure @@ -59,14 +61,6 @@ install_ltp() { make SKIP_IDCHECK=1 install } -parse_ltp_summary() { - for TEST in "Total Tests" "Total Skipped Tests" "Total Failures"; do - NO_OF_TESTS="$(grep "$TEST" "$1" | awk '{print $NF}')" - TEST=$(echo "$TEST" | tr -s ' ' '-') - add_metric "$TEST" "pass" "${NO_OF_TESTS}" "testcases" - done -} - # Parse LTP output parse_ltp_output() { egrep "PASS|FAIL|CONF" "$1" | awk '{print $1" "$2}' | sed s/CONF/SKIP/ >> "${RESULT_FILE}" @@ -76,16 +70,9 @@ parse_ltp_output() { run_ltp() { cd "${LTP_PATH}" - exec 4>&1 - error_statuses="$(((./runltp -p -q -f "${TST_CMDFILES}" \ - -l "${OUTPUT}/LTP_${LOG_FILE}.log" \ - -C "${OUTPUT}/LTP_${LOG_FILE}.failed" "${SKIPFILE}" \ - || echo "0:$?" >&3) | (tee "${OUTPUT}/LTP_${LOG_FILE}.out" \ - || echo "1:$?" >&3)) 3>&1 >&4)" - exec 4>&- + pipe0_status "./runltp -p -q -f ${TST_CMDFILES} -l ${OUTPUT}/LTP_${LOG_FILE}.log -C ${OUTPUT}/LTP_${LOG_FILE}.failed ${SKIPFILE}" "tee ${OUTPUT}/LTP_${LOG_FILE}.out" + check_return "runltp_${LOG_FILE}" - echo "${error_statuses}" - parse_ltp_summary "${OUTPUT}/LTP_${LOG_FILE}.log" parse_ltp_output "${OUTPUT}/LTP_${LOG_FILE}.log" } @@ -104,14 +91,15 @@ else case "${dist}" in Debian|Ubuntu) pkgs="xz-utils flex bison build-essential wget curl net-tools" + install_deps "${pkgs}" "${SKIP_INSTALL}" ;; CentOS|Fedora) pkgs="xz flex bison make automake gcc gcc-c++ kernel-devel wget curl net-tools" + install_deps "${pkgs}" "${SKIP_INSTALL}" ;; *) - error_msg "Unsupported distribution!" + warn_msg "Unsupported distribution: package install skipped" esac - install_deps "${pkgs}" "${SKIP_INSTALL}" info_msg "Run install_ltp" install_ltp fi |