]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
Fix Shellcheck warning in test_ci.sh
authorJeffrey Walton <noloader@gmail.com>
Tue, 14 May 2019 01:26:08 +0000 (21:26 -0400)
committerJeffrey Walton <noloader@gmail.com>
Tue, 14 May 2019 01:26:08 +0000 (21:26 -0400)
Also see http://github.com/koalaman/shellcheck. It should be available for install on your Linux box from the package manager.

test/test_ci.sh

index 84e9a2943939d0c02f58a6d5bf6ef5b4a1965ddf..144c653b7647a5d054ed54c2c49041524bf63502 100755 (executable)
@@ -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"