diff options
Diffstat (limited to 'debian/tests/logd')
-rwxr-xr-x | debian/tests/logd | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/debian/tests/logd b/debian/tests/logd new file mode 100755 index 0000000..6ef5f05 --- /dev/null +++ b/debian/tests/logd @@ -0,0 +1,47 @@ +#!/bin/sh + +set -e + +LOG=/var/log/syslog + +log_checker() { + if [ -f $LOG ]; then + grep "$1" $LOG && return 0 + else + journalctl -u logd.service --grep "$1" && return 0 + fi + return 1 +} + +check_log() { + for i in 1 2 3 4 5; do + log_checker "$1" && return 0 + sleep 1 + done + return 1 +} + +echo "=== service ===" +service logd restart # connect to rsyslog after it is installed +service logd status || ERR="$ERR service" + +echo "=== ha_logger ===" +for i in 1 2 3 4 5; do # logd might not be available right away + ha_logger autopkgtest-message 2>&1 && break + sleep 1 +done +check_log 'autopkgtest-message' || ERR="$ERR ha_logger" + +echo "=== logtest ===" +/usr/lib/heartbeat/logtest 10 2>&1 || true +check_log 'total message dropped: 0' || ERR="$ERR logtest" + +if [ "$ERR" ]; then + if [ -f $LOG ]; then + tail -n 20 $LOG + else + journalctl -u logd.service -n 20 + fi + echo "Failed checks:$ERR" + exit 1 +fi |