From: Jeffrey Walton Date: Tue, 14 May 2019 01:26:08 +0000 (-0400) Subject: Fix Shellcheck warning in test_ci.sh X-Git-Tag: release-1.7.1-rc1~4^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29e57d41290dc53eda92811ef7d7d2a296b3a5d2;p=thirdparty%2Fldns.git Fix Shellcheck warning in test_ci.sh Also see http://github.com/koalaman/shellcheck. It should be available for install on your Linux box from the package manager. --- diff --git a/test/test_ci.sh b/test/test_ci.sh index 84e9a294..144c653b 100755 --- a/test/test_ci.sh +++ b/test/test_ci.sh @@ -1,11 +1,11 @@ -#!/bin/sh +#!/usr/bin/env bash -BUILD_DIR=`pwd` -echo "PATH=$PATH" > $BUILD_DIR/test/.tpkg.var.master +BUILD_DIR=$(pwd) +echo "PATH=$PATH" > "$BUILD_DIR/test/.tpkg.var.master" if git log HEAD^..HEAD | grep -q 'git:TEST [0-9][0-9]*' then - ONLY_TEST=`( cd $BUILD_DIR ; git log HEAD^..HEAD ) | grep 'git:TEST [0-9][0-9]*' | sed 's/^.*git:TEST \([0-9][0-9]*\).*$/\1/g'` + ONLY_TEST=$( ( cd "$BUILD_DIR" ; git log HEAD^..HEAD ) | grep 'git:TEST [0-9][0-9]*' | sed 's/^.*git:TEST \([0-9][0-9]*\).*$/\1/g') else ONLY_TEST="" fi @@ -17,45 +17,46 @@ else NO_REGRESSION=1 fi -if [ -z "$TPKG" -o ! -x "$TPKG" ] +if [ -z "$TPKG" ] || [ ! -x "$TPKG" ] then - if which tpkg > /dev/null ; then TPKG=`command -v tpkg` - elif [ -x $HOME/bin/tpkg ] ; then TPKG=$HOME/bin/tpkg - elif [ -x $HOME/local/bin/tpkg ]; then TPKG=$HOME/local/bin/tpkg + if command -v tpkg > /dev/null ; then TPKG="$(command -v tpkg)" + elif [ -x "$HOME/bin/tpkg" ] ; then TPKG="$HOME/bin/tpkg" + elif [ -x "$HOME/local/bin/tpkg" ]; then TPKG="$HOME/local/bin/tpkg" elif [ -x /home/tpkg/bin/tpkg ] ; then TPKG=/home/tpkg/bin/tpkg elif [ -x ../tpkg/tpkg ] ; then TPKG=../tpkg/tpkg else echo Did not find tpkg program! - exit -1 + exit 255 # Shell can only return 0-255 fi fi + # RUN THE TESTS -for tests in $BUILD_DIR/test/*.tpkg +for tests in "$BUILD_DIR"/test/*.tpkg do - TESTFN=`basename $tests` - TESTNR=`echo $TESTFN | sed 's/-.*$//g'` - [ ! -z "$ONLY_TEST" -a x$ONLY_TEST != x$TESTNR ] && continue - case $TESTNR in + TESTFN="$(basename "$tests")" + TESTNR="$(echo "$TESTFN" | sed 's/-.*$//g')" + [ -n "$ONLY_TEST" ] && [ x"$ONLY_TEST" != x"$TESTNR" ] && continue + case "$TESTNR" in [3-5][0-9]*) [ $NO_REGRESSION = 1 ] && continue ;; esac case $TESTNR in 02) # splint doesn't work on linux - [ "x`uname -o`" = "xGNU/Linux" ] && continue + [ "x$(uname -o)" = "xGNU/Linux" ] && continue ;; 32) # No backwards compatibility regression testing # when .so had major version bumb. - chmod +x $BUILD_DIR/packaging/ldns-config - BINAPI=`$BUILD_DIR/packaging/ldns-config --libversion` + chmod +x "$BUILD_DIR/packaging/ldns-config" + BINAPI=$("$BUILD_DIR/packaging/ldns-config" --libversion) [ "x${BINAPI#*.}" = "x0.0" ] && continue esac - $TPKG -b $BUILD_DIR/test -a $BUILD_DIR exe $TESTFN + $TPKG -b "$BUILD_DIR/test" -a "$BUILD_DIR" exe "$TESTFN" done # ----------------------------------------------------------------------------- # ---- Testing part # -( cd test; $TPKG -q -n `ls result.*|wc -l` report >/dev/null ) +( cd test; $TPKG -q -n "$(find ./ -name 'result.*' -printf "%f\n" | wc -l)" report >/dev/null ) # ----------------------------------------------------------------------------- # ---- Reusable reporting part @@ -63,7 +64,7 @@ done if test "$?" -eq "0"; then STATUS="pass"; else STATUS="FAIL"; fi CI_ID=2 -REPOS=$(basename $(pwd)) +REPOS=$(basename "$(pwd)") REPOS=${REPOS%.git} CI_URI="${CI_PROJECT_URL}/builds/${CI_BUILD_ID}" while [ $# -ge 1 ] @@ -73,12 +74,12 @@ do git log -1 --format="From %H %ad%nFrom: %an <%ae>" BRANCH=$( for W in $( git log -1 --format=%d | tr "()," " " ) - do echo $W + do echo "$W" done | grep -v HEAD | head -1 ) BRANCH="${BRANCH#origin/}" echo "X-Git-Refname: $BRANCH" - if [ -z "$BRANCH" -o "$BRANCH" = "master" ] + if [ -z "$BRANCH" ] || [ "$BRANCH" = "master" ] then BRANCH="" else @@ -86,7 +87,7 @@ do fi git log -1 --format="Subject: [git: $REPOS$BRANCH][$STATUS] %s" echo "To: $1" - echo "Date: `LC_ALL=C date '+%a, %e %b %Y %T %z (%Z)'`" + echo "Date: $(LC_ALL=C date '+%a, %e %b %Y %T %z (%Z)')" echo "X-Git-Repository: $REPOS" git log -2 --format="X-Git-Oldrev: %H" git log -1 --format="X-Git-Newrev: %H" @@ -104,7 +105,7 @@ do # ------------------------------------------------------------- - ) | sendmail $1 + ) | sendmail "$1" shift done test "$STATUS" = "pass"