|
@@ -0,0 +1,115 @@
|
|
|
+#!/bin/sh
|
|
|
+# Copyright (C) 2011 Internet Systems Consortium, Inc. ("ISC")
|
|
|
+#
|
|
|
+# Permission to use, copy, modify, and/or distribute this software for any
|
|
|
+# purpose with or without fee is hereby granted, provided that the above
|
|
|
+# copyright notice and this permission notice appear in all copies.
|
|
|
+#
|
|
|
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
|
|
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
|
+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
|
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
|
|
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
+# PERFORMANCE OF THIS SOFTWARE.
|
|
|
+
|
|
|
+# \brief Severity test
|
|
|
+#
|
|
|
+# Checks that the logger will limit the output of messages less severy than
|
|
|
+# the severity/debug setting.
|
|
|
+
|
|
|
+testname="initLogger test"
|
|
|
+echo $testname
|
|
|
+
|
|
|
+failcount=0
|
|
|
+tempfile=@abs_builddir@/init_logger_test_tempfile_$$
|
|
|
+destfile=@abs_builddir@/init_logger_test_destfile_$$
|
|
|
+
|
|
|
+passfail() {
|
|
|
+ if [ $1 -eq 0 ]; then
|
|
|
+ echo " pass"
|
|
|
+ else
|
|
|
+ echo " FAIL"
|
|
|
+ failcount=`expr $failcount + $1`
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+echo "1. Checking that B10_LOGGER_SEVERITY/B10_LOGGER_DBGLEVEL work"
|
|
|
+
|
|
|
+echo -n " - severity=DEBUG, dbglevel=99: "
|
|
|
+cat > $tempfile << .
|
|
|
+DEBUG [bind10.log] LOG_BAD_DESTINATION unrecognized log destination: debug-0
|
|
|
+DEBUG [bind10.log] LOG_BAD_DESTINATION unrecognized log destination: debug-50
|
|
|
+DEBUG [bind10.log] LOG_BAD_DESTINATION unrecognized log destination: debug-99
|
|
|
+INFO [bind10.log] LOG_BAD_SEVERITY unrecognized log severity: info
|
|
|
+WARN [bind10.log] LOG_BAD_STREAM bad log console output stream: warn
|
|
|
+ERROR [bind10.log] LOG_DUPLICATE_MESSAGE_ID duplicate message ID (error) in compiled code
|
|
|
+FATAL [bind10.log] LOG_NO_MESSAGE_ID line fatal: message definition line found without a message ID
|
|
|
+.
|
|
|
+rm -f $destfile
|
|
|
+B10_LOGGER_SEVERITY=DEBUG B10_LOGGER_DBGLEVEL=99 ./init_logger_test 2> $destfile
|
|
|
+cut -d' ' -f3- $destfile | diff $tempfile -
|
|
|
+passfail $?
|
|
|
+
|
|
|
+echo -n " - severity=DEBUG, dbglevel=50: "
|
|
|
+cat > $tempfile << .
|
|
|
+DEBUG [bind10.log] LOG_BAD_DESTINATION unrecognized log destination: debug-0
|
|
|
+DEBUG [bind10.log] LOG_BAD_DESTINATION unrecognized log destination: debug-50
|
|
|
+INFO [bind10.log] LOG_BAD_SEVERITY unrecognized log severity: info
|
|
|
+WARN [bind10.log] LOG_BAD_STREAM bad log console output stream: warn
|
|
|
+ERROR [bind10.log] LOG_DUPLICATE_MESSAGE_ID duplicate message ID (error) in compiled code
|
|
|
+FATAL [bind10.log] LOG_NO_MESSAGE_ID line fatal: message definition line found without a message ID
|
|
|
+.
|
|
|
+rm -f $destfile
|
|
|
+B10_LOGGER_SEVERITY=DEBUG B10_LOGGER_DBGLEVEL=50 ./init_logger_test 2> $destfile
|
|
|
+cut -d' ' -f3- $destfile | diff $tempfile -
|
|
|
+passfail $?
|
|
|
+
|
|
|
+echo -n " - severity=WARN: "
|
|
|
+cat > $tempfile << .
|
|
|
+WARN [bind10.log] LOG_BAD_STREAM bad log console output stream: warn
|
|
|
+ERROR [bind10.log] LOG_DUPLICATE_MESSAGE_ID duplicate message ID (error) in compiled code
|
|
|
+FATAL [bind10.log] LOG_NO_MESSAGE_ID line fatal: message definition line found without a message ID
|
|
|
+.
|
|
|
+rm -f $destfile
|
|
|
+B10_LOGGER_SEVERITY=WARN ./init_logger_test 2> $destfile
|
|
|
+cut -d' ' -f3- $destfile | diff $tempfile -
|
|
|
+passfail $?
|
|
|
+
|
|
|
+echo "2. Checking that B10_LOGGER_DESTINATION works"
|
|
|
+
|
|
|
+echo -n " - stdout: "
|
|
|
+cat > $tempfile << .
|
|
|
+FATAL [bind10.log] LOG_NO_MESSAGE_ID line fatal: message definition line found without a message ID
|
|
|
+.
|
|
|
+rm -f $destfile
|
|
|
+B10_LOGGER_SEVERITY=FATAL B10_LOGGER_DESTINATION=stdout ./init_logger_test 1> $destfile
|
|
|
+cut -d' ' -f3- $destfile | diff $tempfile -
|
|
|
+passfail $?
|
|
|
+
|
|
|
+echo -n " - stderr: "
|
|
|
+rm -f $destfile
|
|
|
+B10_LOGGER_SEVERITY=FATAL B10_LOGGER_DESTINATION=stderr ./init_logger_test 2> $destfile
|
|
|
+cut -d' ' -f3- $destfile | diff $tempfile -
|
|
|
+passfail $?
|
|
|
+
|
|
|
+echo -n " - file: "
|
|
|
+rm -f $destfile
|
|
|
+B10_LOGGER_SEVERITY=FATAL B10_LOGGER_DESTINATION=$destfile ./init_logger_test
|
|
|
+cut -d' ' -f3- $destfile | diff $tempfile -
|
|
|
+passfail $?
|
|
|
+
|
|
|
+# Note: can't automatically test syslog output.
|
|
|
+
|
|
|
+if [ $failcount -eq 0 ]; then
|
|
|
+ echo "PASS: $testname"
|
|
|
+elif [ $failcount -eq 1 ]; then
|
|
|
+ echo "FAIL: $testname - 1 test failed"
|
|
|
+else
|
|
|
+ echo "FAIL: $testname - $failcount tests failed"
|
|
|
+fi
|
|
|
+
|
|
|
+# Tidy up.
|
|
|
+rm -f $tempfile $destfile
|
|
|
+
|
|
|
+exit $failcount
|