diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 11:36:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 11:36:04 +0000 |
commit | 040eee1aa49b49df4698d83a05af57c220127fd1 (patch) | |
tree | f635435954e6ccde5eee9893889e24f30ca68346 /src/lib/log/tests/destination_test.sh.in | |
parent | Initial commit. (diff) | |
download | isc-kea-upstream.tar.xz isc-kea-upstream.zip |
Adding upstream version 2.2.0.upstream/2.2.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/lib/log/tests/destination_test.sh.in')
-rw-r--r-- | src/lib/log/tests/destination_test.sh.in | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/src/lib/log/tests/destination_test.sh.in b/src/lib/log/tests/destination_test.sh.in new file mode 100644 index 0000000..86fc415 --- /dev/null +++ b/src/lib/log/tests/destination_test.sh.in @@ -0,0 +1,85 @@ +#!/bin/sh + +# Copyright (C) 2011-2020 Internet Systems Consortium, Inc. ("ISC") +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# Checks that the logger will route messages to the chosen destination. + +# Exit with error if commands exit with non-zero and if undefined variables are +# used. +set -eu + +# Include common test library. +# shellcheck disable=SC1091 +# SC1091: Not following: ... was not specified as input (see shellcheck -x). +. "@abs_top_builddir@/src/lib/testutils/dhcp_test_lib.sh" + +tempfile="@abs_builddir@/destination_test_tempfile_$$" +destfile1_tmp="@abs_builddir@/destination_test_destfile_1_tmp_$$" +destfile2_tmp="@abs_builddir@/destination_test_destfile_2_tmp_$$" +destfile1="@abs_builddir@/destination_test_destfile_1_$$" +destfile2="@abs_builddir@/destination_test_destfile_2_$$" + +printf '1. One logger, multiple destinations:\n' + +cat > $tempfile << . +FATAL [example] LOG_WRITE_ERROR error writing to test1: 42 +ERROR [example] LOG_READING_LOCAL_FILE reading local message file dummy/file +FATAL [example.beta] LOG_BAD_SEVERITY unrecognized log severity: beta_fatal +ERROR [example.beta] LOG_BAD_DESTINATION unrecognized log destination: beta_error +. +rm -f $destfile1 $destfile2 +./logger_example -s error -f $destfile1_tmp -f $destfile2_tmp + +# strip the pids and thread ids +sed -e 's/\[\([a-z0-9\.]\{1,\}\)\/\([0-9]\{1,\}\)\.\(0x\)\{0,1\}\([0-9A-Fa-f]\{1,\}\)\]/[\1]/' < $destfile1_tmp > $destfile1 +sed -e 's/\[\([a-z0-9\.]\{1,\}\)\/\([0-9]\{1,\}\)\.\(0x\)\{0,1\}\([0-9A-Fa-f]\{1,\}\)\]/[\1]/' < $destfile2_tmp > $destfile2 +# strip the thread ids + +test_start 'logger-destination.one-logger-file-1' +cut -d' ' -f3- $destfile1 | diff $tempfile - +test_finish $? + +test_start 'logger-destination.one-logger-file-2' +cut -d' ' -f3- $destfile2 | diff $tempfile - +test_finish $? + +# Tidy up. +rm -f $tempfile $destfile1_tmp $destfile2_tmp $destfile1 $destfile2 + +printf '2. Two loggers, different destinations and severities:\n' +rm -f $destfile1 $destfile2 +./logger_example -l example -s info -f $destfile1_tmp -l alpha -s warn -f $destfile2_tmp + +# strip the pids and thread ids +sed -e 's/\[\([a-z0-9\.]\{1,\}\)\/\([0-9]\{1,\}\)\.\(0x\)\{0,1\}\([0-9A-Fa-f]\{1,\}\)\]/[\1]/' < $destfile1_tmp > $destfile1 +sed -e 's/\[\([a-z0-9\.]\{1,\}\)\/\([0-9]\{1,\}\)\.\(0x\)\{0,1\}\([0-9A-Fa-f]\{1,\}\)\]/[\1]/' < $destfile2_tmp > $destfile2 + +# All output for example and example.beta should have gone to destfile1. +# Output for example.alpha should have done to destfile2. + +test_start 'logger-destination.multiples-loggers-file-1' +cat > $tempfile << . +FATAL [example] LOG_WRITE_ERROR error writing to test1: 42 +ERROR [example] LOG_READING_LOCAL_FILE reading local message file dummy/file +WARN [example] LOG_BAD_STREAM bad log console output stream: example +FATAL [example.beta] LOG_BAD_SEVERITY unrecognized log severity: beta_fatal +ERROR [example.beta] LOG_BAD_DESTINATION unrecognized log destination: beta_error +WARN [example.beta] LOG_BAD_STREAM bad log console output stream: beta_warn +INFO [example.beta] LOG_READ_ERROR error reading from message file beta: info +. +cut -d' ' -f3- $destfile1 | diff $tempfile - +test_finish $? + +test_start 'logger-destination.multiples-loggers-file-2' +cat > $tempfile << . +WARN [example.alpha] LOG_READ_ERROR error reading from message file a.txt: dummy reason +. +cut -d' ' -f3- $destfile2 | diff $tempfile - +test_finish $? + +# Tidy up. +rm -f $tempfile $destfile1_tmp $destfile2_tmp $destfile1 $destfile2 |