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=
}
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"
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
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
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
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=$!
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
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
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
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
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" &
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)"
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)"
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
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
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
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
# 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
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 &
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 &
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
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=$!
# 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
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
[ -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
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.