Improve the integration test script a bit
[platform/core/system/dlog.git] / tests / dlog_test.in
index 3037941..8895cbc 100644 (file)
@@ -16,73 +16,71 @@ TEST_DYNAMIC_FILTERS="@DYNAMIC_FILTERS@"
 TESTDIR=/var/lib/dlog-tests
 
 extract_timestamp() {
-       local ts=0
+       ts=0
        case "$1" in
                "threadtime")
-                       time=`echo $2 | awk -F '[ +]' '{print $2}'`
-                       ts=`date +%s%N -d $time`
+                       time=$(echo "$2" | awk -F '[ +]' '{print $2}')
+                       ts=$(date +%s%N -d "$time")
                ;;
                "long")
-                       time=`echo $2 | awk -F '[ +.]' '{print $3}'`
-                       ms=`echo $2 | awk -F '[ +.]' '{print $4}'`
-                       sec=`date +%s%N -d $time`
+                       time=$(echo "$2" | awk -F '[ +.]' '{print $3}')
+                       ms=$(echo "$2" | awk -F '[ +.]' '{print $4}')
+                       sec=$(date +%s%N -d "$time")
                        ns=$((10#$ms * 1000000))
-                       ts=$(($sec + $ns))
+                       ts=$((sec + ns))
                ;;
                "rwtime")
-                       time=`echo $2 | awk -F '[ +.]' '{print $2}'`
-                       ts=`date +%s%N -d $time`
+                       time=$(echo "$2" | awk -F '[ +.]' '{print $2}')
+                       ts=$(date +%s%N -d "$time")
                ;;
                "recv_realtime")
-                       time=`echo $2 | awk -F '[ +.]' '{print $2}'`
-                       ts=`date +%s%N -d $time`
+                       time=$(echo "$2" | awk -F '[ +.]' '{print $2}')
+                       ts=$(date +%s%N -d "$time")
                ;;
                "time")
-                       time=`echo $2 | awk -F '[ +.]' '{print $2}'`
-                       ts=`date +%s%N -d $time`
+                       time=$(echo "$2" | awk -F '[ +.]' '{print $2}')
+                       ts=$(date +%s%N -d "$time")
                ;;
                "kerneltime")
-                       ts=`echo $2 | awk -F '[ +]' '{print $1}' | sed -e 's/\.//g'`
+                       ts=$(echo "$2" | awk -F '[ +]' '{print $1}' | sed -e 's/\.//g')
                ;;
        esac
        echo "$ts"
 }
 
 cleanup() {
-       [ $UTIL_PID -ne -1 ] && kill $UTIL_PID > /dev/null 2>&1
-       [ $MT_TEST  -ne -1 ] && kill $MT_TEST  > /dev/null 2>&1
-       [ $LOGGER   -ne -1 ] && kill $LOGGER   > /dev/null 2>&1
-       [ -d $TESTDIR ] && rm -rf $TESTDIR/*
-       [ -d $RUNTIME_FILTERS_DIR ] && rm -rf $RUNTIME_FILTERS_DIR
+       [ "$UTIL_PID" -ne -1 ] && kill "$UTIL_PID" > /dev/null 2>&1
+       [ "$MT_TEST"  -ne -1 ] && kill "$MT_TEST"  > /dev/null 2>&1
+       [ "$LOGGER"   -ne -1 ] && kill "$LOGGER"   > /dev/null 2>&1
+       [ -d "$TESTDIR" ] && rm -rf "$TESTDIR"/*
+       [ -d "$RUNTIME_FILTERS_DIR" ] && rm -rf "$RUNTIME_FILTERS_DIR"
 }
 
 trap cleanup 0
 
 check_daemon() {
-       local ret=1
-       if [ $LOGGER -ne -1 ] && [ -z "$(ps -o pid= -p $LOGGER)" ]; then
+       ret=1
+       if [ "$LOGGER" -ne -1 ] && [ -z "$(ps -o pid= -p "$LOGGER")" ]; then
                ret=0
        fi
-       return $ret
+       return "$ret"
 }
 
 fail() {
-       check_daemon
-       [ $? -eq 0 ] && daemon_status="[logger daemon not running]"
+       check_daemon && daemon_status="[logger daemon not running]"
 
-       FAILS=$(($FAILS + 1))
-       TOTAL=$(($TOTAL + 1))
-       printf "[%02d] FAILED: %s %s\n" $TOTAL "$LOG_DETAILS" "$daemon_status"
+       FAILS=$((FAILS + 1))
+       TOTAL=$((TOTAL + 1))
+       printf "[%02d] FAILED: %s %s\n" "$TOTAL" "$LOG_DETAILS" "$daemon_status"
        LOG_DETAILS=
 }
 
 ok() {
-       check_daemon
-       [ $? -eq 0 ] && daemon_status="[logger daemon not running]"
+       check_daemon && daemon_status="[logger daemon not running]"
 
-       OKS=$(($OKS + 1))
-       TOTAL=$(($TOTAL + 1))
-       printf "[%02d] PASSED: %s %s\n" $TOTAL "$LOG_DETAILS" "$daemon_status"
+       OKS=$((OKS + 1))
+       TOTAL=$((TOTAL + 1))
+       printf "[%02d] PASSED: %s %s\n" "$TOTAL" "$LOG_DETAILS" "$daemon_status"
        LOG_DETAILS=
 }
 
@@ -91,32 +89,32 @@ exec 2> /dev/null
 
 USAGE_MESSAGE="usage: $0 pipe|logger|pipe_quick|logger_quick"
 
-if [ $# -ne 1 ]; then
-       echo $USAGE_MESSAGE
+if [ "$#" -ne 1 ]; then
+       echo "$USAGE_MESSAGE"
        exit 1
 fi
 
-if [ "$1" == "pipe" ]; then
+if [ "$1" = "pipe" ]; then
        type="pipe"
        quick=0
-elif [ "$1" == "logger" ]; then
+elif [ "$1" = "logger" ]; then
        type="logger"
        quick=0
-elif [ "$1" == "pipe_quick" ]; then
+elif [ "$1" = "pipe_quick" ]; then
        type="pipe"
        quick=1
-elif [ "$1" == "logger_quick" ]; then
+elif [ "$1" = "logger_quick" ]; then
        type="logger"
        quick=1
 else
-       echo $USAGE_MESSAGE
+       echo "$USAGE_MESSAGE"
        exit 1
 fi
 
 NEEDS_TO_QUIT=0
 capsh --print | grep Current | grep cap_syslog > /dev/null || { echo "*** ERROR: cap_syslog missing"; NEEDS_TO_QUIT=1; }
 mount | grep ' / ' | grep rw > /dev/null || { echo "*** ERROR: root not mounted read-write"; NEEDS_TO_QUIT=1; }
-[[ $NEEDS_TO_QUIT -eq 0 ]] || exit 1
+[ "$NEEDS_TO_QUIT" -eq 0 ] || exit 1
 
 if [ -z "$DLOG_CONFIG_PATH" ]; then
        ORIGINAL_CONFIG_PATH="/etc/dlog.conf"
@@ -132,80 +130,81 @@ RUNTIME_FILTERS_DIR="/tmp/dlog-filters/"
 mkdir -p "$RUNTIME_FILTERS_DIR"
 
 # Start the daemon
-if [ $type == "pipe" ]; then
+if [ "$type" = "pipe" ]; then
        dlog_logger &
+       dlog_logger -b 99 -t 0 &
        LOGGER=$!
        sleep 1
 fi
 
-if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
+if [ "$TEST_DYNAMIC_FILTERS" = "true" ]; then
        dlogctl -c
        dlogctl --enable
        dlogutil -c -b radio -b system -b main
        LOG_DETAILS="dlogctl --disable (no args)"
        dlogctl --disable
-       [ `dlogctl -g | grep ENABLED | wc -l` -eq 0 ] && ok || fail
+       [ "$(dlogctl -g | grep ENABLED | wc -l)" -eq 0 ] && ok || fail
        LOG_DETAILS="testing if filters were applied"
        dlogsend -b system -t TEST test
        dlogsend -b main -t TEST test
        dlogsend -b radio -t TEST test
-       [ `dlogutil -d -b radio -b system -b main | wc -l` -eq 0 ] && ok || fail
+       [ "$(dlogutil -d -b radio -b system -b main | wc -l)" -eq 0 ] && ok || fail
 
        LOG_DETAILS="dlogctl --enable (no args)"
        dlogctl --enable
-       [ `dlogctl -g | grep DISABLED | wc -l` -eq 0 ] && ok || fail
+       [ "$(dlogctl -g | grep DISABLED | wc -l)" -eq 0 ] && ok || fail
        LOG_DETAILS="testing if filters were applied"
        dlogutil -c -b radio -b system -b main
        dlogsend -b system -t TEST test
        dlogsend -b main -t TEST test
        dlogsend -b radio -t TEST test
-       [ `dlogutil -d -b radio -b system -b main | wc -l` -eq 3 ] && ok || fail
+       [ "$(dlogutil -d -b radio -b system -b main | wc -l)" -eq 3 ] && ok || fail
 
        LOG_DETAILS="dlogctl --disable (1 arg)"
        dlogctl --disable -b system
-       [ `dlogctl -g | grep DISABLED | grep system | wc -l` -eq 1 ] &&
-       [ `dlogctl -g | grep DISABLED               | wc -l` -eq 1 ] && ok || fail
+       [ "$(dlogctl -g | grep DISABLED | grep system | wc -l)" -eq 1 ] &&
+       [ "$(dlogctl -g | grep DISABLED               | wc -l)" -eq 1 ] && ok || fail
        LOG_DETAILS="testing if filters were applied"
        dlogutil -c -b radio -b system -b main
        dlogsend -b system -t TEST test
        dlogsend -b main -t TEST test
        dlogsend -b radio -t TEST test
-       [ `dlogutil -d -b radio -b system -b main | wc -l` -eq 2 ] && ok || fail
+       [ "$(dlogutil -d -b radio -b system -b main | wc -l)" -eq 2 ] && ok || fail
 
        LOG_DETAILS="dlogctl --disable (multiple args)"
        dlogctl --disable -b main -b radio
-       [ `dlogctl -g | grep DISABLED | grep -v system | wc -l` -eq 2 ] &&
-       [ `dlogctl -g | grep DISABLED | grep     radio | wc -l` -eq 1 ] &&
-       [ `dlogctl -g | grep DISABLED | grep      main | wc -l` -eq 1 ] && ok || fail
+       [ "$(dlogctl -g | grep DISABLED | grep -v system | wc -l)" -eq 2 ] &&
+       [ "$(dlogctl -g | grep DISABLED | grep     radio | wc -l)" -eq 1 ] &&
+       [ "$(dlogctl -g | grep DISABLED | grep      main | wc -l)" -eq 1 ] && ok || fail
        LOG_DETAILS="testing if filters were applied"
        dlogutil -c -b radio -b system -b main
        dlogsend -b system -t TEST test
        dlogsend -b main -t TEST test
        dlogsend -b radio -t TEST test
-       [ `dlogutil -d -b radio -b system -b main | wc -l` -eq 0 ] && ok || fail
+       [ "$(dlogutil -d -b radio -b system -b main | wc -l)" -eq 0 ] && ok || fail
 
        LOG_DETAILS="dlogctl --enable (multiple args)"
        dlogctl --enable -b radio -b system
-       [ `dlogctl -g | grep DISABLED               | wc -l` -eq 1 ] &&
-       [ `dlogctl -g | grep DISABLED | grep   main | wc -l` -eq 1 ] &&
-       [ `dlogctl -g | grep  ENABLED | grep system | wc -l` -eq 1 ] &&
-       [ `dlogctl -g | grep  ENABLED | grep  radio | wc -l` -eq 1 ] && ok || fail
+       [ "$(dlogctl -g | grep DISABLED               | wc -l)" -eq 1 ] &&
+       [ "$(dlogctl -g | grep DISABLED | grep   main | wc -l)" -eq 1 ] &&
+       [ "$(dlogctl -g | grep  ENABLED | grep system | wc -l)" -eq 1 ] &&
+       [ "$(dlogctl -g | grep  ENABLED | grep  radio | wc -l)" -eq 1 ] && ok || fail
        LOG_DETAILS="testing if filters were applied"
        dlogutil -c -b radio -b system -b main
        dlogsend -b system -t TEST test
        dlogsend -b main -t TEST test
        dlogsend -b radio -t TEST test
-       [ `dlogutil -d -b radio -b system -b main | wc -l` -eq 2 ] && ok || fail
+       [ "$(dlogutil -d -b radio -b system -b main | wc -l)" -eq 2 ] && ok || fail
 
        LOG_DETAILS="dlogctl --enable (1 arg)"
        dlogctl --enable -b main
-       [ `dlogctl -g | grep DISABLED | wc -l` -eq 0 ] && ok || fail
+       [ "$(dlogctl -g | grep DISABLED | wc -l)" -eq 0 ] && ok || fail
        LOG_DETAILS="testing if filters were applied"
        dlogutil -c -b radio -b system -b main
        dlogsend -b system -t TEST test
        dlogsend -b main -t TEST test
        dlogsend -b radio -t TEST test
-       [ `dlogutil -d -b radio -b system -b main | wc -l` -eq 3 ] && ok || fail
+       [ "$(dlogutil -d -b radio -b system -b main | wc -l)" -eq 3 ] && ok || fail
 
        LOG_DETAILS="dlogctl -s allow"
        dlogutil -c -b radio -b system -b main
@@ -214,7 +213,7 @@ if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
        dlogctl -t TEST_TAG -s allow
        dlogsend -b main -t TEST_TAG test
        dlogsend -b main -t TEST test
-       [ `dlogutil -d -b main | wc -l` -eq 1 ] && ok || fail
+       [ "$(dlogutil -d -b main | wc -l)" -eq 1 ] && ok || fail
 
        LOG_DETAILS="dlogctl -s [N]"
        dlogutil -c -b radio -b system -b main
@@ -223,71 +222,71 @@ if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
        dlogctl -t TEST_TAG -s 3
        dlogsend -b main -c 10 -t TEST_TAG test
        dlogsend -b main -c 10 -t TEST test
-       [ `dlogutil -d -b main | wc -l` -eq 4 ] && ok || fail
+       [ "$(dlogutil -d -b main | wc -l)" -eq 4 ] && ok || fail
 
        LOG_DETAILS="testing invalid parameters for dlogctl (1/13)"
-       dlogctl -s invalid &> /dev/null && fail || ok
+       dlogctl -s invalid > /dev/null && fail || ok
 
        LOG_DETAILS="testing invalid parameters for dlogctl (2/13)"
-       dlogctl -p X -g &> /dev/null && fail || ok
+       dlogctl -p X -g > /dev/null && fail || ok
 
        LOG_DETAILS="testing invalid parameters for dlogctl (3/13)"
-       dlogctl -b invalid --disable &> /dev/null && fail || ok
+       dlogctl -b invalid --disable > /dev/null && fail || ok
 
        LOG_DETAILS="testing invalid parameters for dlogctl (4/13)"
-       dlogctl -s allow -g -t xyz -p E &> /dev/null && fail || ok
+       dlogctl -s allow -g -t xyz -p E > /dev/null && fail || ok
 
        LOG_DETAILS="testing invalid parameters for dlogctl (5/13)"
-       dlogctl -s allow -c &> /dev/null && fail || ok
+       dlogctl -s allow -c > /dev/null && fail || ok
 
        LOG_DETAILS="testing invalid parameters for dlogctl (6/13)"
-       dlogctl -c -g -t xyz -p E &> /dev/null && fail || ok
+       dlogctl -c -g -t xyz -p E > /dev/null && fail || ok
 
        # -s out of range
        LOG_DETAILS="testing invalid parameters for dlogctl (7/13)"
-       dlogctl -s -10 &> /dev/null && fail || ok
+       dlogctl -s -10 > /dev/null && fail || ok
 
        LOG_DETAILS="testing invalid parameters for dlogctl (8/13)"
-       dlogctl -s 999999 &> /dev/null && fail || ok
+       dlogctl -s 999999 > /dev/null && fail || ok
 
        # -s correctness
        LOG_DETAILS="testing invalid parameters for dlogctl (9/13)"
        dlogctl -s 100 && ok || fail
 
        LOG_DETAILS="testing invalid parameters for dlogctl (10/13)"
-       [ `cat $RUNTIME_FILTERS_DIR/05-logctl.conf | grep -E 'limiter\|\*\|\*=100' | wc -l` -eq 1 ] && ok || fail
+       [ $(cat "$RUNTIME_FILTERS_DIR/05-logctl.conf" | grep -E 'limiter\|\*\|\*=100' | wc -l) -eq 1 ] && ok || fail
 
        # -g correctness
        LOG_DETAILS="testing invalid parameters for dlogctl (11/13)"
-       [ `dlogctl -g | grep '*:*' | grep 100 | wc -l` -eq 1 ] && ok || fail
+       [ "$(dlogctl -g | grep '*:*' | grep 100 | wc -l)" -eq 1 ] && ok || fail
 
        # -c correctness
        LOG_DETAILS="testing invalid parameters for dlogctl (12/13)"
        dlogctl -c -t '*' -p '*' && ok || fail
 
        LOG_DETAILS="testing invalid parameters for dlogctl (13/13)"
-       [ `cat $RUNTIME_FILTERS_DIR/05-logctl.conf | grep -E 'limiter\|\*\|\*=100' | wc -l` -eq 0 ] && ok || fail
+       [ $(cat "$RUNTIME_FILTERS_DIR/05-logctl.conf" | grep -E 'limiter\|\*\|\*=100' | wc -l) -eq 0 ] && ok || fail
        dlogctl -c
 
        LOG_DETAILS="testing if the whole dynamic config directory is respected"
        dlogctl -s deny
-       cp $RUNTIME_FILTERS_DIR/{05-logctl.conf,10-other.conf}
+       cp $RUNTIME_FILTERS_DIR/05-logctl.conf $RUNTIME_FILTERS_DIR/10-other.conf
        dlogctl -c
        dlogutil -c -b radio -b system -b main
        dlogsend -b system -t TEST test
        dlogsend -b main -t TEST test
        dlogsend -b radio -t TEST test
-       [ `dlogutil -d -b radio -b system -b main | wc -l` -eq 0 ] && ok || fail
+       [ "$(dlogutil -d -b radio -b system -b main | wc -l)" -eq 0 ] && ok || fail
        rm $RUNTIME_FILTERS_DIR/10-other.conf
 fi
 
 SEED=$(head -c 6 /dev/urandom | base64)
 dlogsend -k "$SEED"
 # -k is async, unlike normal mode; therefore we have to wait until the logging process actually finishes
-while ps -o args | grep "dlogsend" | grep -v grep &> /dev/null || ps -o args | grep "dlog-log-critical" | grep -v grep &> /dev/null; do :; done
+while ps -o args | grep "dlogsend" | grep -v grep > /dev/null || ps -o args | grep "dlog-log-critical" | grep -v grep > /dev/null; do :; done
 CRIT_PATH="@DLOG_CRITICAL_LOGFILE_PATH@"
 LOG_DETAILS="testing if critical logging works"
-cat "$CRIT_PATH".{a,b} | grep -F "$SEED" &> /dev/null && ok || fail
+cat "$CRIT_PATH".a "$CRIT_PATH".b | grep -F "$SEED" > /dev/null && ok || fail
 
 # put 100 log entries in the "main" buffer
 dlogutil -c
@@ -296,64 +295,64 @@ sleep 1
 
 
 LOG_DETAILS="testing if dlogutil -d exits with success after printing logs"
-dlogutil -d &> /dev/null && ok || fail
+dlogutil -d > /dev/null && ok || fail
 
 LOG_DETAILS="testing if -t argument is parsed properly"
-dlogutil -t dummy &> /dev/null && fail || ok
+dlogutil -t dummy > /dev/null && fail || ok
 
 LOG_DETAILS="testing if -u argument is parsed properly"
-dlogutil -du dummy &> /dev/null && fail || ok
+dlogutil -du dummy > /dev/null && fail || ok
 
 LOG_DETAILS="testing if limiting printed log entries to less than exists in the buffer returns proper value"
-[ $(dlogutil -b main -t  20 | wc -l) -eq  20 ] && ok || fail # less logs than currently in buffer
+[ "$(dlogutil -b main -t  20 | wc -l)" -eq  20 ] && ok || fail # less logs than currently in buffer
 
 LOG_DETAILS="testing if limiting printed log entries to more than exists in the buffer returns proper value"
-[ $(dlogutil -b main -t 200 | wc -l) -eq 100 ] && ok || fail # more
+[ "$(dlogutil -b main -t 200 | wc -l)" -eq 100 ] && ok || fail # more
 
 LOG_DETAILS="testing if dlogutil returns exact amount of entries as there is in the buffer"
-[ $(dlogutil -b main -d     | wc -l) -eq 100 ] && ok || fail # exactly
+[ "$(dlogutil -b main -d     | wc -l)" -eq 100 ] && ok || fail # exactly
 
 LOG_DETAILS="testing if reading from  dummy buffer returns an error as expected"
-dlogutil -b nonexistent_buffer &> /dev/null && fail || ok
+dlogutil -b nonexistent_buffer > /dev/null && fail || ok
 
 LOG_DETAILS="testing if reading from \"system\" buffer returns zero entries (logs are in the \"main\" buffer)"
-[ $(dlogutil -d -b system | wc -l) -eq 0 ] && ok || fail
+[ "$(dlogutil -d -b system | wc -l)" -eq 0 ] && ok || fail
 
 LOG_DETAILS="testing if dlogutil -c empties all buffers"
 dlogutil -cb main && ok || fail
 
 LOG_DETAILS="testing if writing entries to empty buffer and reading them returns proper amount of entries"
 test_libdlog 10
-[ $(dlogutil -b main -d | wc -l) -eq 10 ] && ok || fail # should be 10, not 110
+[ "$(dlogutil -b main -d | wc -l)" -eq 10 ] && ok || fail # should be 10, not 110
 
 LOG_DETAILS="testing if filters work (1/3)"
-[ $(dlogutil -b main -d *:E | wc -l) -eq 5 ] && ok || fail # half of current logs (test_libdlog alternates between error and info log levels)
+[ "$(dlogutil -b main -d *:E | wc -l)" -eq 5 ] && ok || fail # half of current logs (test_libdlog alternates between error and info log levels)
 
 LOG_DETAILS="testing if filters work (2/3)"
-[ $(dlogutil -b main -d *:W | wc -l) -eq 5 ] && ok || fail
+[ "$(dlogutil -b main -d *:W | wc -l)" -eq 5 ] && ok || fail
 
 LOG_DETAILS="testing if filters work (3/3)"
-[ $(dlogutil -b main -d *:I | wc -l) -eq 10 ] && ok || fail
+[ "$(dlogutil -b main -d *:I | wc -l)" -eq 10 ] && ok || fail
 
 LOG_DETAILS="testing if exact filters work (1/3)"
-[ $(dlogutil -b main -d *:=E | wc -l) -eq 5 ] && ok || fail
+[ "$(dlogutil -b main -d *:=E | wc -l)" -eq 5 ] && ok || fail
 
 LOG_DETAILS="testing if exact filters work (2/3)"
-[ $(dlogutil -b main -d *:=W | wc -l) -eq 0 ] && ok || fail
+[ "$(dlogutil -b main -d *:=W | wc -l)" -eq 0 ] && ok || fail
 
 LOG_DETAILS="testing if exact filters work (3/3)"
-[ $(dlogutil -b main -d *:=I | wc -l) -eq 5 ] && ok || fail
+[ "$(dlogutil -b main -d *:=I | wc -l)" -eq 5 ] && ok || fail
 
 LOG_DETAILS="testing if adding \"silent\" filter works"
-[ $(dlogutil -b main -s -d | wc -l) -eq 0 ] && ok || fail
+[ "$(dlogutil -b main -s -d | wc -l)" -eq 0 ] && ok || fail
 
 LOG_DETAILS="testing if reading buffer size returns proper exit code"
-dlogutil -gb main &> /dev/null && ok || fail
+dlogutil -gb main > /dev/null && ok || fail
 
 LOG_DETAILS="testing if writing all entries to single file works (-f)"
-dlogutil -f $TESTDIR/dlog_test_file -d &> /dev/null && ok || fail
+dlogutil -f $TESTDIR/dlog_test_file -d > /dev/null && ok || fail
 
-if [ $quick -ne 1 ]; then
+if [ "$quick" -ne 1 ]; then
        LOG_DETAILS="testing if the continuous mode works as expected (1/2)"
        dlogutil -b main -f $TESTDIR/dlog_continuous1_file &
        UTIL_PID=$!
@@ -422,7 +421,7 @@ UTIL_PID=-1
 
 LOG_DETAILS="testing if libdlogutil works correctly in the dump mode"
 test_libdlogutil dump $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
-if [ $quick -ne 1 ]; then
+if [ "$quick" -ne 1 ]; then
        LOG_DETAILS="testing if libdlogutil works correctly if processing the logs takes some time"
        test_libdlogutil timer $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
 fi
@@ -455,7 +454,7 @@ test_libdlogutil prefix_wrong $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
 LOG_DETAILS="testing if libdlogutil returns the correct buffer traits"
 test_libdlogutil traits $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
 LOG_DETAILS="testing if libdlogutil aliasing works"
-if [ $type == "pipe" ]; then
+if [ "$type" = "pipe" ]; then
        test_libdlogutil alias $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
 else
        DLOG_CONFIG_PATH="@datadir@/dlog-logger.conf.alias" test_libdlogutil alias $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
@@ -513,9 +512,9 @@ for PARAM in always auto none never; do
                                COMMAND="script -qc\"$COMMAND\" /dev/null | sed 's/\r$//'"
                        fi
 
-                       # `eval` is needed since `$COMMAND` may contain `"`
-                       line=`eval $COMMAND | tr '\033\n' '~@'`
-                       [[ `echo "$line" | sed -re "$REGEX"` == "1" ]] && ok || fail
+                       # $(eval) is needed since $($COMMAND) may contain $(")
+                       line=$(eval $COMMAND | tr '\033\n' '~@')
+                       [[ $(echo "$line" | sed -re "$REGEX") == "1" ]] && ok || fail
                done
        done
 done
@@ -524,62 +523,62 @@ done
 
 REGEX="s/^$regex_prio\([0-9[:space:]]{5,}\)[[:print:]]*\([[:print:]]*\)$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="tag"
 REGEX="s/^$regex_prio\/[[:print:]]{9,}:\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="thread"
 REGEX="s/^$regex_prio\($regex_pidtid\)\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="time"
 REGEX="s/^$regex_time.[0-9]{3}$regex_timezone\s{1}$regex_prio\/[[:print:]]{8,}\([0-9[:space:]]{5,}\):\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="threadtime"
 REGEX="s/^$regex_time.[0-9]{3}$regex_timezone\s{1}$regex_prio\/[[:print:]]{8,}\($regex_pidtid\):\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="kerneltime"
 REGEX="s/^[0-9[:space:]]{1,}.[0-9]{3,}\s{1}$regex_prio\/[[:print:]]{8,}\($regex_pidtid\):\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="recv_realtime"
 REGEX="s/^$regex_time.[0-9]{3}\s{1}$regex_prio\/[[:print:]]{8,}\($regex_pidtid\):\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="rwtime"
 REGEX="s/^$regex_time\s{1}\[[0-9[:space:]]{3,}.[0-9[:space:]]{3,}\]\s{1}$regex_prio\/[[:print:]]{8,}\($regex_pidtid\):\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="long"
 REGEX="s/^\[\s{1}$regex_time.[0-9]{3,}\s{1}$regex_prio\/[[:print:]]{8,}\s{1}$regex_pidtid\]@[[:print:]]+@$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | tr '\n' '@' | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | tr '\n' '@' | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="brief"
 REGEX="s/^$regex_prio\/[[:print:]]{8,}\([0-9[:space:]]{5,}\):\s{1}[[:print:]]*$/1/g"
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="json"
 if [[ "$type" == "pipe" ]]; then
@@ -588,17 +587,17 @@ else
        REGEX="s/^\{\"priority\":\"(verbose|debug|info|warning|error|fatal|silent)\",\"pid\":[1-9][0-9]*,\"tid\":[1-9][0-9]*,\"sent_real\":\"[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}$regex_timezone\",\"tag\":\"[[:print:]]*\",\"msg\":\"[[:print:]]*\"\}$/1/g"
 fi
 LOG_DETAILS="testing if \"$format\" print format works"
-line=`$cmd_prefix $format`
-[[ `echo "$line" | sed -re $REGEX` == "1" ]] && ok || fail
+line=$($cmd_prefix $format)
+[[ $(echo "$line" | sed -re $REGEX) == "1" ]] && ok || fail
 
 format="raw"
 LOG_DETAILS="testing if \"$format\" print format works"
 dlogutil -c
 dlogsend -b main -t DLOG_TESTSUITE rawformatTEST
-line=`$cmd_prefix $format`
+line=$($cmd_prefix $format)
 [[ "$line" == "rawformatTEST" ]] && ok || fail
 
-if [ $quick -ne 1 ]; then
+if [ "$quick" -ne 1 ]; then
        LOG_DETAILS="testing if dlogsend -d works"
        dlogutil -c
        dlogsend -b main -c 9999 -d 4 -f 7 -t DLOG_TESTSUITE "hi" &
@@ -606,10 +605,10 @@ if [ $quick -ne 1 ]; then
        sleep 10
        kill $DLOGSEND_PID
        # In 10 seconds, 3 cycles 7 logs each should have happened.
-       [[ "$(dlogutil -d DLOG_TESTSUITE | wc -l)" -eq 21 ]] && ok || fail
+       [ "$(dlogutil -d DLOG_TESTSUITE | wc -l)" -eq 21 ] && ok || fail
 fi
 
-if [ $type == "pipe" ]; then
+if [ "$type" = "pipe" ]; then
        for format in raw brief long; do
                for i in {1..8} 10 15 20 25 {513..520}; do
                        LOG_DETAILS="testing if padding works correctly (format $format/count $i)"
@@ -639,25 +638,25 @@ fi
 LOG_DETAILS="testing if KMSG works in the default format"
 # We check if the command returns at least 100 logs. This seems to be a safe value.
 # Feel free to change it to a reasonable yet lower value if the test happens to fail otherwise.
-[[ "$(dlogutil -db kmsg | wc -l)" -gt 100 ]] && ok || fail
+[ "$(dlogutil -db kmsg | wc -l)" -gt 100 ] && ok || fail
 
-if [ $quick -ne 1 ]; then
+if [ "$quick" -ne 1 ]; then
        LOG_DETAILS="testing if KMSG works in the raw format"
-       last_dmesg=`dmesg | tail -n1 | sed -re "s/^\[[ 0-9]{5,}\.[0-9]{6}\] (.*)$/\1/g"`
+       last_dmesg=$(dmesg | tail -n1 | sed -re "s/^\[[ 0-9]{5,}\.[0-9]{6}\] (.*)$/\1/g")
        sleep 1 # To make sure dlog has already parsed the log
        dlogutil -db kmsg -v raw | grep -Fm1 "$last_dmesg" >/dev/null && ok || fail
 
        LOG_DETAILS="testing if pid filtering works"
        dlogsend -b main -t DLOG_TESTSUITE pidTEST &
        sleep 1
-       line=`dlogutil -v raw -d --pid $!`
-       [[ "$line" == "pidTEST" ]] && ok || fail
+       line=$(dlogutil -v raw -d --pid $!)
+       [ "$line" = "pidTEST" ] && ok || fail
 
        LOG_DETAILS="testing if tid filtering works"
        dlogsend -b main -t DLOG_TESTSUITE tidTEST &
        sleep 1
-       line=`dlogutil -v raw -d --tid $!` #dlogsend is a single threaded app so tid is the same as pid
-       [[ "$line" == "tidTEST" ]] && ok || fail
+       line=$(dlogutil -v raw -d --tid $!) #dlogsend is a single threaded app so tid is the same as pid
+       [ "$line" = "tidTEST" ] && ok || fail
 
        mv $DLOG_CONFIG_PATH $DLOG_CONFIG_PATH.1
        LOG_DETAILS="testing if secure logging works (1/2)"
@@ -668,8 +667,8 @@ if [ $quick -ne 1 ]; then
        sleep 1
        dlogsend -b main -t DLOG_TESTSUITE insecure &
        sleep 1
-       line=`dlogutil -v raw -d | head -n1`
-       [[ "$line" == "secure" ]] && ok || fail
+       line=$(dlogutil -v raw -d | head -n1)
+       [ "$line" = "secure" ] && ok || fail
        LOG_DETAILS="testing if secure logging works (2/2)"
        grep -v enable_secure_logs $DLOG_CONFIG_PATH.1 > $DLOG_CONFIG_PATH
        echo "enable_secure_logs=0" >> $DLOG_CONFIG_PATH
@@ -678,8 +677,8 @@ if [ $quick -ne 1 ]; then
        sleep 1
        dlogsend -b main -t DLOG_TESTSUITE insecure &
        sleep 1
-       line=`dlogutil -v raw -d | head -n1`
-       [[ "$line" == "insecure" ]] && ok || fail
+       line=$(dlogutil -v raw -d | head -n1)
+       [ "$line" = "insecure" ] && ok || fail
        mv $DLOG_CONFIG_PATH.1 $DLOG_CONFIG_PATH
 fi
 
@@ -688,84 +687,84 @@ dlogsend -b main -t DLOG_TESTSUITE_TAG1 -pI tagTEST1
 dlogsend -b main -t DLOG_TESTSUITE_TAG2 -pF tagTEST2
 
 LOG_DETAILS="testing if tag filtering works (1/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_TAG0' | wc -l` -eq 1 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_TAG0' | wc -l)" -eq 1 ] && ok || fail
 LOG_DETAILS="testing if tag filtering works (2/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_TAG1' | wc -l` -eq 1 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_TAG1' | wc -l)" -eq 1 ] && ok || fail
 LOG_DETAILS="testing if tag filtering works (3/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_TAG' | wc -l` -eq 0 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_TAG' | wc -l)" -eq 0 ] && ok || fail
 LOG_DETAILS="testing if tag filtering works (4/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_TAG*' | wc -l` -eq 3 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_TAG*' | wc -l)" -eq 3 ] && ok || fail
 LOG_DETAILS="testing if tag filtering works (5/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_TAG*:I' | wc -l` -eq 3 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_TAG*:I' | wc -l)" -eq 3 ] && ok || fail
 LOG_DETAILS="testing if tag filtering works (6/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_TAG*:W' | wc -l` -eq 1 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_TAG*:W' | wc -l)" -eq 1 ] && ok || fail
 LOG_DETAILS="testing if tag filtering works (7/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_SAMSUNG' | wc -l` -eq 0 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_SAMSUNG' | wc -l)" -eq 0 ] && ok || fail
 LOG_DETAILS="testing if tag filtering works (8/8)"
-[[ `dlogutil -dv raw 'DLOG_TESTSUITE_SAMSUNG*' | wc -l` -eq 0 ]] && ok || fail
+[ "$(dlogutil -dv raw 'DLOG_TESTSUITE_SAMSUNG*' | wc -l)" -eq 0 ] && ok || fail
 
-if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
+if [ "$TEST_DYNAMIC_FILTERS" = "true" ]; then
        LOG_DETAILS="testing if limiter and runtime filtering works"
        dlogutil -c -b radio
        test_filters
-       [ $(dlogutil -d -b radio | wc -l) -eq 12 ] && ok || fail
+       [ "$(dlogutil -d -b radio | wc -l)" -eq 12 ] && ok || fail
 
        LOG_DETAILS="testing proper SMACK label for dynamic config file location"
        ORIG_FILTERS_DIR=$(cat $ORIGINAL_CONFIG_PATH | grep dynamic_config_path | awk -F "=" '{print $2}')
-       [ $(ls -dZ $ORIG_FILTERS_DIR | awk -F " " '{print $1}') == "System::Shared" ] && ok || fail
+       [ `ls -dZ $ORIG_FILTERS_DIR | awk -F " " '{print $1}'` = "System::Shared" ] && ok || fail
 
-       if [ $quick -ne 1 ]; then
+       if [ "$quick" -ne 1 ]; then
                # This creates a process which will wait for SIGCONT and then spam logs. We know its PID, so we can add
                # PID-based limits and see what happens.
                sh -c 'kill -s STOP $$; exec dlogsend -b main -c 100 "Pid test"' &
                DLOGSEND_PID=$!
-               while [[ $(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat) != "T" ]]; do :; done
+               while [ "$(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat)" != "T" ]; do :; done
                dlogctl --pid $DLOGSEND_PID -s deny
                kill -s CONT $DLOGSEND_PID
                wait $DLOGSEND_PID
                LOG_DETAILS="testing if PID limiting works (1/14)"
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l) -eq 0 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l)" -eq 0 ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (2/14)"
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l) -eq 1 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l)" -eq 1 ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (3/14)"
-               [[ $(dlogctl --pid $DLOGSEND_PID -g) == "Denied" ]] && ok || fail
+               [ "$(dlogctl --pid $DLOGSEND_PID -g)" = "Denied" ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (4/14)"
                dlogctl -g | grep -q "Denied for $DLOGSEND_PID" && ok || fail
 
                sh -c 'kill -s STOP $$; exec dlogsend -b main -c 100 "Pid test"' &
                DLOGSEND_PID=$!
-               while [[ $(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat) != "T" ]]; do :; done
+               while [ "$(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat)" != "T" ]; do :; done
                dlogctl --pid $DLOGSEND_PID -s 25
                kill -s CONT $DLOGSEND_PID
                wait $DLOGSEND_PID
                LOG_DETAILS="testing if PID limiting works (5/14)"
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l) -eq 25 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l)" -eq 25 ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (6/14)"
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l) -eq 1 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l)" -eq 1 ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (7/14)"
-               [[ $(dlogctl --pid $DLOGSEND_PID -g) == '25 logs/min' ]] && ok || fail
+               [ "$(dlogctl --pid $DLOGSEND_PID -g)" = '25 logs/min' ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (8/14)"
                dlogctl -g | grep -q "25 logs/min for $DLOGSEND_PID" && ok || fail
 
                sh -c 'kill -s STOP $$; exec dlogsend -b main -c 100 "Pid test"' &
                DLOGSEND_PID=$!
-               while [[ $(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat) != "T" ]]; do :; done
+               while [ "$(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat)" != "T" ]; do :; done
                dlogctl --pid $DLOGSEND_PID -s allow
                kill -s CONT $DLOGSEND_PID
                wait $DLOGSEND_PID
                LOG_DETAILS="testing if PID limiting works (9/14)"
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l) -eq 100 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l)" -eq 100 ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (10/14)"
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l) -eq 0 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l)" -eq 0 ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (11/14)"
-               [[ $(dlogctl --pid $DLOGSEND_PID -g) == 'Unlimited' ]] && ok || fail
+               [ "$(dlogctl --pid $DLOGSEND_PID -g)" = 'Unlimited' ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (12/14)"
                dlogctl -g | grep -q "Unlimited for $DLOGSEND_PID" && ok || fail
 
                echo "qos_refresh_rate_s=5" > "$RUNTIME_FILTERS_DIR/69-refresh-rate.conf"
                sh -c 'kill -s STOP $$; exec dlogsend -b main -c 15 -d 1 "Pid test"' &
                DLOGSEND_PID=$!
-               while [[ $(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat) != "T" ]]; do :; done
+               while [ "$(cut -d ' ' -f 3 < /proc/$DLOGSEND_PID/stat)" != "T" ]; do :; done
                dlogctl --pid $DLOGSEND_PID -s 2
                kill -s CONT $DLOGSEND_PID
                wait $DLOGSEND_PID
@@ -773,9 +772,9 @@ if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
                LOG_DETAILS="testing if PID limiting works (13/14)"
                # In each 5 second period, 5 logs are sent, so there are 3 periods.
                # 2 logs from each period are allowed.
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l) -eq 6 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep -v blocked | wc -l)" -eq 6 ] && ok || fail
                LOG_DETAILS="testing if PID limiting works (14/14)"
-               [[ $(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l) -eq 3 ]] && ok || fail
+               [ "$(dlogutil --pid $DLOGSEND_PID -d | grep blocked | wc -l)" -eq 3 ] && ok || fail
 
                # TODO: HACK ALERT!
                # The following QoS tests make perfect sense for the pipe backend, since we kill the already
@@ -786,7 +785,7 @@ if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
                # completely disabled in the config file -- this way, the tests would be completely uniform.
                PREQOS_CONFIG_PATH=$DLOG_CONFIG_PATH
                DLOG_CONFIG_PATH="@datadir@/dlog-$type.conf.qos"
-               if [ $type == "pipe" ]; then
+               if [ "$type" = "pipe" ]; then
                        kill $LOGGER > /dev/null
                        sleep 1
                fi
@@ -796,10 +795,10 @@ if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
 
                dlogsend -b main -t DLOG_QOS_TEST0 -c 30 -d 1 -f 2 "A normal app that just wants to log"
                LOG_DETAILS="testing if QoS works (1/4)"
-               [[ $(dlogutil -d DLOG_QOS_TEST0 | grep -v blocked | wc -l) -eq 30 ]] && ok || fail
+               [ "$(dlogutil -d DLOG_QOS_TEST0 | grep -v blocked | wc -l)" -eq 30 ] && ok || fail
                kill $LOGGER > /dev/null
                sleep 1
-               if [ $type == "logger" ]; then
+               if [ "$type" = "logger" ]; then
                        dlogutil -cb main
                fi
                dlog_logger -b 99 -t 0 &
@@ -808,10 +807,10 @@ if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
 
                dlogsend -b main -t DLOG_QOS_TEST1 -c 300 -d 1 -f 20 "Some log spam"
                LOG_DETAILS="testing if QoS works (2/4)"
-               [[ $(dlogutil -d DLOG_QOS_TEST1 | grep -v blocked | wc -l) -le 180 ]] && ok || fail
+               [ "$(dlogutil -d DLOG_QOS_TEST1 | grep -v blocked | wc -l)" -le 180 ] && ok || fail
                kill $LOGGER > /dev/null
                sleep 1
-               if [ $type == "logger" ]; then
+               if [ "$type" = "logger" ]; then
                        dlogutil -cb main
                fi
                dlog_logger -b 99 -t 0 &
@@ -823,14 +822,14 @@ if [ "$TEST_DYNAMIC_FILTERS" == "true" ]; then
                dlogsend -b main -t DLOG_QOS_TEST3 -c 270 -d 1 -f 18 "Some log spam"
                wait $DLOGSEND_PID
                LOG_DETAILS="testing if QoS works (3/4)"
-               [[ $(dlogutil -d DLOG_QOS_TEST2 DLOG_QOS_TEST3 | grep -v blocked | wc -l) -le 180 ]] && ok || fail
+               [ "$(dlogutil -d DLOG_QOS_TEST2 DLOG_QOS_TEST3 | grep -v blocked | wc -l)" -le 180 ] && ok || fail
                LOG_DETAILS="testing if QoS works (4/4)"
-               [[ $(dlogutil -d DLOG_QOS_TEST2 | grep -v blocked | wc -l) -gt 24 ]] && ok || fail
+               [ "$(dlogutil -d DLOG_QOS_TEST2 | grep -v blocked | wc -l)" -gt 24 ] && ok || fail
 
                DLOG_CONFIG_PATH=$PREQOS_CONFIG_PATH
                kill $LOGGER > /dev/null
                sleep 1
-               if [ $type == "pipe" ]; then
+               if [ "$type" = "pipe" ]; then
                        dlog_logger -b 99 -t 0 &
                        LOGGER=$!
                        sleep 1
@@ -843,7 +842,7 @@ fi
 LOG_DETAILS="testing if libdlogutil clears the buffer correctly"
 test_libdlogutil clear $LIBDLOGUTIL_CORRECT_PID $type && ok || fail
 
-if [ $quick -ne 1 ]; then
+if [ "$quick" -ne 1 ]; then
        LOG_DETAILS="testing if the library works with multithreaded app"
        dlogutil -f $TESTDIR/dlog_mt_test &
        MT_TEST=$!
@@ -863,7 +862,7 @@ if [ $quick -ne 1 ]; then
        # a single message. This gets us 5 groups of logs separated by a second; there are about 200 logs in each
        # group, sent about at the same time.
        (
-               for i in `seq 1 $SPAWN_CNT`; do
+               for i in $(seq 1 $SPAWN_CNT); do
                        delay=$(( (RANDOM) % 5 ))
                        ( sleep $delay && dlogsend -b main -t DLOG_TESTSUITE $delay ) &
                done
@@ -883,12 +882,12 @@ if [ $quick -ne 1 ]; then
                prev_line=""
 
                # collect data and analyze timestamps
-               lines=`dlogutil -b main -d -v $format`
+               lines=$(dlogutil -b main -d -v $format)
                while read line; do
                        # filter out empty lines in "long" format
                        [ -z "$line" ] && continue
                        # filter out non-timestamp lines in "long" format
-                       if [ $format == "long" ] && [ "`echo "$line" | sed -re 's/^\[[[:print:]]*\]$/line_ok/g'`" != "line_ok" ]; then
+                       if [ "$format" = "long" ] && [ "$(echo "$line" | sed -re 's/^\[[:print:]*\]$/line_ok/g')" != "line_ok" ]; then
                                continue
                        fi
 
@@ -907,42 +906,6 @@ if [ $quick -ne 1 ]; then
 
                [ -z "$unsorted" ] && ok || fail
        done
-
-       sleep 3
-
-       if [ $type == "pipe" ]; then
-
-               # spawn a new daemon with limited FDs for the FD checks
-               kill $LOGGER > /dev/null
-               sleep 1
-               ULIMIT_CURRENT=`ulimit -n`
-               ulimit -n 30
-               dlog_logger &> /dev/null &
-               LOGGER=$!
-               ulimit -n $ULIMIT_CURRENT
-
-               LOG_DETAILS="checking if the daemon closes util connections without logs stored"
-               run_utils
-               sleep 3
-               [ `ls -la /proc/$LOGGER/fd | grep fifo | wc -l` -eq 0 -a `ls -la /proc/$LOGGER/fd | grep pipe | wc -l` -eq 0 ] && ok || fail
-
-               LOG_DETAILS="checking if the daemon closes libdlog connections"
-               for i in {1..30}; do
-                       dlogsend -c $i -b main -p e -t FOO BAR BAZ &
-               done
-               dlogsend -c 99999 -b main -p e -t FOO BAR BAZ &
-               sleep 0.5
-               kill $!
-               sleep 1.5
-               [ `ls -la /proc/$LOGGER/fd | grep fifo | wc -l` -eq 0 -a `ls -la /proc/$LOGGER/fd | grep pipe | wc -l` -eq 0 ] && ok || fail
-
-               LOG_DETAILS="checking if the daemon closes util connections with logs stored"
-               run_utils
-               sleep 0.5
-               killall dlogutil &> /dev/null
-               sleep 1.5
-               [ `ls -la /proc/$LOGGER/fd | grep fifo | wc -l` -eq 0 -a `ls -la /proc/$LOGGER/fd | grep pipe | wc -l` -eq 0 ] && ok || fail
-       fi
 fi
 
 # show results, clean up and return an exit code
@@ -950,13 +913,13 @@ fi
 echo "$OKS / $TOTAL tests passed"
 echo "$FAILS / $TOTAL tests failed"
 
-if [ $quick -eq 1 ]; then
+if [ "$quick" -eq 1 ]; then
        echo "WARNING: quick mode!"
        echo "About 20% slowest running tests are disabled. Some functionality might be untested."
        echo "Rerun with '$type' instead of '${type}_quick' to run all tests."
 fi
 
-[[ "$FAILS" -eq 0 ]]
+[ "$FAILS" -eq 0 ]
 # THE LINE ABOVE MUST STAY THE LAST COMMAND IN THE FILE!
 # This is because it is used to pass the exit code. If another command
 # is executed after it, its exit code will be propagated instead.