diff options
Diffstat (limited to 'tests/ts/logger/options')
-rwxr-xr-x | tests/ts/logger/options | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/ts/logger/options b/tests/ts/logger/options new file mode 100755 index 0000000..30daea5 --- /dev/null +++ b/tests/ts/logger/options @@ -0,0 +1,82 @@ +#!/bin/bash + +# +# Copyright (C) 2015 Sami Kerola <kerolasa@iki.fi> +# +# This file is part of util-linux. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +TS_TOPDIR="${0%/*}/../.." +TS_DESC="options" + +. $TS_TOPDIR/functions.sh + +ts_init "$*" + +ts_check_test_command "$TS_HELPER_LOGGER" + +# Create --file option input files. +echo {a..c}{1..5} > $TS_OUTDIR/input_simple +echo {a..c}{1..5} > $TS_OUTDIR/input_empty_line +echo "" >> $TS_OUTDIR/input_empty_line +echo {5..1}{c..1} >> $TS_OUTDIR/input_empty_line +echo "<66>" prio_prefix > $TS_OUTDIR/input_prio_prefix + +# bash 4 might not be available, use go-around hash +tests_array=( + "simple:test" + "log_pid:-i test" + "log_pid_long:--id test" + "log_pid_define:--id=12345 test" + "log_pid_no_arg:-is test" + "input_file_simple:-f $TS_OUTDIR/input_simple" + "input_file_empty_line:-f $TS_OUTDIR/input_empty_line" + "input_file_skip_empty:--file $TS_OUTDIR/input_empty_line -e" + "input_file_prio_prefix:--file $TS_OUTDIR/input_prio_prefix --skip-empty --prio-prefix" +) + +export TZ="GMT" +export LOGGER_TEST_TIMEOFDAY="1234567890.123456" +export LOGGER_TEST_HOSTNAME="test-hostname" +export LOGGER_TEST_GETPID="98765" + +DEVLOG="$(mktemp "/tmp/ultest-$TS_COMPONENT-$TS_TESTNAME-XXXXXX")" \ + || ts_die "mktemp failed" +SOCKIN="${TS_OUTDIR}/${TS_TESTNAME}_socketin" +ts_init_socket_to_file $DEVLOG $SOCKIN +SOCAT_PID="$!" + +function logger_fun { + $TS_HELPER_LOGGER -u $DEVLOG --stderr --no-act "$@" >> $TS_OUTPUT 2>> $TS_ERRLOG + echo "ret: $?" >> "$TS_ERRLOG" # keep all on stderr +} + +for i in "${tests_array[@]}"; do + name="${i%%:*}" + options="${i##*:}" + + ts_init_subtest "$name" + logger_fun -t "test_tag" $options + ts_finalize_subtest +done + +ts_init_subtest "check_socket" +# Check written socket data of all subtests +sleep 1 +kill $SOCAT_PID +wait $SOCAT_PID &>/dev/null +cat "$SOCKIN" >> $TS_OUTPUT 2>> $TS_ERRLOG +rm -f "$DEVLOG" "$SOCKIN" +ts_finalize_subtest + +ts_finalize |