* [PATCH v2 0/7] logger tests do not need /dev/log but socat
@ 2015-04-13 12:01 Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 1/7] logger: --stderr and --no-act turn "auto-errors" on Ruediger Meier
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
This is version 2 of pull request #194 on github
https://github.com/karelzak/util-linux/pull/194
Now we require socat for logger tests. We should NOT add fallback to
netcat-like tools. I have tried this but there are too many different
and broken netcat versions out there.
To avoid socat dependency we could write our own test helper. I had
already done this for testing but I think that socat is just the right
tool for this. We may also add more tests with for tcp or udp listeners
...
Ruediger Meier (7):
logger: --stderr and --no-act turn "auto-errors" on
tests: simplify common logger options
tests: logger with socat device
tests: logger, validate written socket data
tests: logger/errors does not use --no-act
tests: add subtests for invalid logger devive
travis: install socat
.travis-functions.sh | 1 +
misc-utils/logger.c | 5 ++-
tests/expected/logger/errors-check_socket | 21 ++++++++++++
tests/expected/logger/errors-invalid_socket | 2 ++
tests/expected/logger/formats-check_socket | 1 +
tests/expected/logger/options-check_socket | 1 +
tests/functions.sh | 29 ++++++++++++++++
tests/ts/logger/errors | 52 +++++++++++++++++++----------
tests/ts/logger/formats | 39 +++++++++++++++-------
tests/ts/logger/journald | 2 +-
tests/ts/logger/options | 21 ++++++++++--
11 files changed, 138 insertions(+), 36 deletions(-)
create mode 100644 tests/expected/logger/errors-check_socket
create mode 100644 tests/expected/logger/errors-invalid_socket
create mode 100644 tests/expected/logger/formats-check_socket
create mode 100644 tests/expected/logger/options-check_socket
--
1.8.4.5
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v2 1/7] logger: --stderr and --no-act turn "auto-errors" on
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
@ 2015-04-13 12:01 ` Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 2/7] tests: simplify common logger options Ruediger Meier
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
---
misc-utils/logger.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/misc-utils/logger.c b/misc-utils/logger.c
index 6316a76..8908dfc 100644
--- a/misc-utils/logger.c
+++ b/misc-utils/logger.c
@@ -914,10 +914,9 @@ int main(int argc, char **argv)
ctl.unix_socket_errors = 1;
break;
case AF_UNIX_ERRORS_AUTO:
+ ctl.unix_socket_errors = ctl.noact || ctl.stderr_printout;
#ifdef HAVE_LIBSYSTEMD
- ctl.unix_socket_errors = sd_booted();
-#else
- ctl.unix_socket_errors = 0;
+ ctl.unix_socket_errors |= !!sd_booted();
#endif
break;
default:
--
1.8.4.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 2/7] tests: simplify common logger options
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 1/7] logger: --stderr and --no-act turn "auto-errors" on Ruediger Meier
@ 2015-04-13 12:01 ` Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 3/7] tests: logger with socat device Ruediger Meier
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
---
tests/ts/logger/errors | 32 ++++++++++++++------------------
tests/ts/logger/formats | 26 ++++++++++++++------------
2 files changed, 28 insertions(+), 30 deletions(-)
diff --git a/tests/ts/logger/errors b/tests/ts/logger/errors
index c50b3e5..debce7e 100755
--- a/tests/ts/logger/errors
+++ b/tests/ts/logger/errors
@@ -30,45 +30,41 @@ export LOGGER_TEST_TIMEOFDAY="1234567890.123456"
export LOGGER_TEST_HOSTNAME="test-hostname"
export LOGGER_TEST_GETPID="98765"
+function logger_fun {
+ $TS_HELPER_LOGGER -s --no-act "$@" >> "$TS_OUTPUT" 2>&1
+ echo "ret: $?" >> "$TS_OUTPUT"
+}
+
ts_init_subtest "kern_priority"
-$TS_HELPER_LOGGER --no-act -s -t "prio" -p kern.emerg "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "prio" -p kern.emerg "message"
ts_finalize_subtest
ts_init_subtest "kern_priority_numeric"
-$TS_HELPER_LOGGER --no-act -s -t "prio" -p 0 "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "prio" -p 0 "message"
ts_finalize_subtest
ts_init_subtest "invalid_prio"
-$TS_HELPER_LOGGER --no-act -s -t "prio" -p 8 "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "prio" -p 8 "message"
ts_finalize_subtest
# should truncate
ts_init_subtest "rfc5424_exceed_size"
-$TS_HELPER_LOGGER --no-act -s -t "rfc5424_exceed_size" --rfc5424 --size 3 "abcd" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "rfc5424_exceed_size" --rfc5424 --size 3 "abcd"
ts_finalize_subtest
ts_init_subtest "id_with_space"
-$TS_HELPER_LOGGER --no-act -s -t "id_with_space" --id="A B" "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
-$TS_HELPER_LOGGER --no-act -s -t "rfc5424_id_with_space" --rfc5424 --id="A B" "message" >> "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "id_with_space" --id="A B" "message"
+logger_fun -t "rfc5424_id_with_space" --rfc5424 --id="A B" "message"
ts_finalize_subtest
# should not fail
ts_init_subtest "tag_with_space"
-$TS_HELPER_LOGGER --no-act -s -t "A B" "tag_with_space" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
-$TS_HELPER_LOGGER --no-act -s -t "A B" --rfc5424 "tag_with_space_rfc5424" >> "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "A B" "tag_with_space"
+logger_fun -t "A B" --rfc5424 "tag_with_space_rfc5424"
ts_finalize_subtest
ts_init_subtest "rfc5424_msgid_with_space"
-$TS_HELPER_LOGGER --no-act -s -t "rfc5424_msgid_with_space" --rfc5424 --msgid="A B" "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "rfc5424_msgid_with_space" --rfc5424 --msgid="A B" "message"
ts_finalize_subtest
ts_finalize
diff --git a/tests/ts/logger/formats b/tests/ts/logger/formats
index a647b81..d0e9d5c 100755
--- a/tests/ts/logger/formats
+++ b/tests/ts/logger/formats
@@ -30,33 +30,35 @@ export LOGGER_TEST_TIMEOFDAY="1234567890.123456"
export LOGGER_TEST_HOSTNAME="test-hostname"
export LOGGER_TEST_GETPID="98765"
+function logger_fun {
+ $TS_HELPER_LOGGER -s --no-act "$@" >> "$TS_OUTPUT" 2>&1
+ echo "ret: $?" >> "$TS_OUTPUT"
+}
+
ts_init_subtest "rfc3164"
-$TS_HELPER_LOGGER -s --no-act -t "rfc3164" --rfc3164 "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "rfc3164" --rfc3164 "message"
ts_finalize_subtest
ts_init_subtest "rfc5424_simple"
-$TS_HELPER_LOGGER -s --no-act -t "rfc5424" --rfc5424 "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "rfc5424" --rfc5424 "message"
ts_finalize_subtest
+
ts_init_subtest "rfc5424_notime"
-$TS_HELPER_LOGGER -s --no-act -t "rfc5424" --rfc5424=notime "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "rfc5424" --rfc5424=notime "message"
ts_finalize_subtest
+
ts_init_subtest "rfc5424_nohost"
-$TS_HELPER_LOGGER -s --no-act -t "rfc5424" --rfc5424=nohost "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "rfc5424" --rfc5424=nohost "message"
ts_finalize_subtest
+
ts_init_subtest "rfc5424_msgid"
-$TS_HELPER_LOGGER -s --no-act -t "rfc5424" --rfc5424 --msgid "MSGID" "message" > "$TS_OUTPUT" 2>&1
-echo "ret: $?" >> "$TS_OUTPUT"
+logger_fun -t "rfc5424" --rfc5424 --msgid "MSGID" "message"
ts_finalize_subtest
ts_init_subtest "priorities"
for facility in auth authpriv cron daemon ftp lpr mail news syslog user uucp local{0..7}; do
for level in emerg alert crit err warning notice info debug; do
- $TS_HELPER_LOGGER -s --no-act -t "prio" -p "$facility.$level" "$facility.$level" >> "$TS_OUTPUT" 2>&1
- echo "ret: $?" >> "$TS_OUTPUT"
+ logger_fun -t "prio" -p "$facility.$level" "$facility.$level"
done
done
ts_finalize_subtest
--
1.8.4.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 3/7] tests: logger with socat device
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 1/7] logger: --stderr and --no-act turn "auto-errors" on Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 2/7] tests: simplify common logger options Ruediger Meier
@ 2015-04-13 12:01 ` Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 4/7] tests: logger, validate written socket data Ruediger Meier
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
---
tests/functions.sh | 29 +++++++++++++++++++++++++++++
tests/ts/logger/errors | 10 +++++++++-
tests/ts/logger/formats | 10 +++++++++-
tests/ts/logger/options | 16 ++++++++++++++--
4 files changed, 61 insertions(+), 4 deletions(-)
diff --git a/tests/functions.sh b/tests/functions.sh
index 55b9273..44e087c 100644
--- a/tests/functions.sh
+++ b/tests/functions.sh
@@ -652,3 +652,32 @@ function ts_resolve_host {
test -n "$tmp" || return 1
echo "$tmp" | sort -R | head -n 1
}
+
+# listen to unix socket (background socat)
+function ts_init_socket_to_file {
+ local socket=$1
+ local outfile=$2
+ local pid="0"
+
+ ts_check_prog "socat"
+ rm -f "$socket" "$outfile"
+
+ socat -u UNIX-LISTEN:$socket,fork,max-children=1,backlog=128 \
+ STDOUT > "$outfile" &
+ pid=$!
+
+ # check for running background process
+ if [ "$pid" -le "0" ] || ! kill -s 0 "$pid"; then
+ ts_skip "unable to run socat"
+ fi
+ # wait for the socket listener
+ if ! socat -u /dev/null UNIX-CONNECT:$socket,retry=30,interval=0.1; then
+ kill -9 "$pid"
+ ts_skip "timeout waiting for socket"
+ fi
+ # check socket again
+ if ! socat -u /dev/null UNIX-CONNECT:$socket; then
+ kill -9 "$pid"
+ ts_skip "socket stopped listening"
+ fi
+}
diff --git a/tests/ts/logger/errors b/tests/ts/logger/errors
index debce7e..2dfb410 100755
--- a/tests/ts/logger/errors
+++ b/tests/ts/logger/errors
@@ -30,8 +30,13 @@ export LOGGER_TEST_TIMEOFDAY="1234567890.123456"
export LOGGER_TEST_HOSTNAME="test-hostname"
export LOGGER_TEST_GETPID="98765"
+DEVLOG="${TS_OUTDIR}/${TS_TESTNAME}_devlog"
+SOCKIN="${TS_OUTDIR}/${TS_TESTNAME}_socketin"
+ts_init_socket_to_file $DEVLOG $SOCKIN
+SOCAT_PID="$!"
+
function logger_fun {
- $TS_HELPER_LOGGER -s --no-act "$@" >> "$TS_OUTPUT" 2>&1
+ $TS_HELPER_LOGGER -u $DEVLOG -s --no-act "$@" >> "$TS_OUTPUT" 2>&1
echo "ret: $?" >> "$TS_OUTPUT"
}
@@ -67,4 +72,7 @@ ts_init_subtest "rfc5424_msgid_with_space"
logger_fun -t "rfc5424_msgid_with_space" --rfc5424 --msgid="A B" "message"
ts_finalize_subtest
+sleep 1
+kill $SOCAT_PID
+
ts_finalize
diff --git a/tests/ts/logger/formats b/tests/ts/logger/formats
index d0e9d5c..203c4d6 100755
--- a/tests/ts/logger/formats
+++ b/tests/ts/logger/formats
@@ -30,8 +30,13 @@ export LOGGER_TEST_TIMEOFDAY="1234567890.123456"
export LOGGER_TEST_HOSTNAME="test-hostname"
export LOGGER_TEST_GETPID="98765"
+DEVLOG="${TS_OUTDIR}/${TS_TESTNAME}_devlog"
+SOCKIN="${TS_OUTDIR}/${TS_TESTNAME}_socketin"
+ts_init_socket_to_file $DEVLOG $SOCKIN
+SOCAT_PID="$!"
+
function logger_fun {
- $TS_HELPER_LOGGER -s --no-act "$@" >> "$TS_OUTPUT" 2>&1
+ $TS_HELPER_LOGGER -u $DEVLOG -s --no-act "$@" >> "$TS_OUTPUT" 2>&1
echo "ret: $?" >> "$TS_OUTPUT"
}
@@ -63,4 +68,7 @@ for facility in auth authpriv cron daemon ftp lpr mail news syslog user uucp loc
done
ts_finalize_subtest
+sleep 1
+kill $SOCAT_PID
+
ts_finalize
diff --git a/tests/ts/logger/options b/tests/ts/logger/options
index 6bd3236..c77c655 100755
--- a/tests/ts/logger/options
+++ b/tests/ts/logger/options
@@ -50,14 +50,26 @@ export LOGGER_TEST_TIMEOFDAY="1234567890.123456"
export LOGGER_TEST_HOSTNAME="test-hostname"
export LOGGER_TEST_GETPID="98765"
+DEVLOG="${TS_OUTDIR}/${TS_TESTNAME}_devlog"
+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>&1
+ echo "ret: $?" >> "$TS_OUTPUT"
+}
+
for i in "${tests_array[@]}"; do
name="${i%%:*}"
options="${i##*:}"
ts_init_subtest "$name"
- $TS_HELPER_LOGGER --stderr --no-act -t "test_tag" $options > "$TS_OUTPUT" 2>&1
- echo "ret: $?" >> "$TS_OUTPUT"
+ logger_fun -t "test_tag" $options
ts_finalize_subtest
done
+sleep 1
+kill $SOCAT_PID
+
ts_finalize
--
1.8.4.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 4/7] tests: logger, validate written socket data
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
` (2 preceding siblings ...)
2015-04-13 12:01 ` [PATCH v2 3/7] tests: logger with socat device Ruediger Meier
@ 2015-04-13 12:01 ` Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 5/7] tests: logger/errors does not use --no-act Ruediger Meier
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
Actually there should be no data written to the socket because
we are always using --no-act.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
---
tests/expected/logger/errors-check_socket | 1 +
tests/expected/logger/formats-check_socket | 1 +
tests/expected/logger/options-check_socket | 1 +
tests/ts/logger/errors | 5 +++++
tests/ts/logger/formats | 5 +++++
tests/ts/logger/options | 5 +++++
6 files changed, 18 insertions(+)
create mode 100644 tests/expected/logger/errors-check_socket
create mode 100644 tests/expected/logger/formats-check_socket
create mode 100644 tests/expected/logger/options-check_socket
diff --git a/tests/expected/logger/errors-check_socket b/tests/expected/logger/errors-check_socket
new file mode 100644
index 0000000..fa36c4e
--- /dev/null
+++ b/tests/expected/logger/errors-check_socket
@@ -0,0 +1 @@
+Check written socket data of all subtests.
diff --git a/tests/expected/logger/formats-check_socket b/tests/expected/logger/formats-check_socket
new file mode 100644
index 0000000..fa36c4e
--- /dev/null
+++ b/tests/expected/logger/formats-check_socket
@@ -0,0 +1 @@
+Check written socket data of all subtests.
diff --git a/tests/expected/logger/options-check_socket b/tests/expected/logger/options-check_socket
new file mode 100644
index 0000000..fa36c4e
--- /dev/null
+++ b/tests/expected/logger/options-check_socket
@@ -0,0 +1 @@
+Check written socket data of all subtests.
diff --git a/tests/ts/logger/errors b/tests/ts/logger/errors
index 2dfb410..8df97c8 100755
--- a/tests/ts/logger/errors
+++ b/tests/ts/logger/errors
@@ -72,7 +72,12 @@ ts_init_subtest "rfc5424_msgid_with_space"
logger_fun -t "rfc5424_msgid_with_space" --rfc5424 --msgid="A B" "message"
ts_finalize_subtest
+ts_init_subtest "check_socket"
+ts_log "Check written socket data of all subtests."
sleep 1
kill $SOCAT_PID
+wait $SOCAT_PID &>/dev/null
+cat "$SOCKIN" >> "$TS_OUTPUT" 2>&1
+ts_finalize_subtest
ts_finalize
diff --git a/tests/ts/logger/formats b/tests/ts/logger/formats
index 203c4d6..5957fea 100755
--- a/tests/ts/logger/formats
+++ b/tests/ts/logger/formats
@@ -68,7 +68,12 @@ for facility in auth authpriv cron daemon ftp lpr mail news syslog user uucp loc
done
ts_finalize_subtest
+ts_init_subtest "check_socket"
+ts_log "Check written socket data of all subtests."
sleep 1
kill $SOCAT_PID
+wait $SOCAT_PID &>/dev/null
+cat "$SOCKIN" >> "$TS_OUTPUT" 2>&1
+ts_finalize_subtest
ts_finalize
diff --git a/tests/ts/logger/options b/tests/ts/logger/options
index c77c655..afcf5f8 100755
--- a/tests/ts/logger/options
+++ b/tests/ts/logger/options
@@ -69,7 +69,12 @@ for i in "${tests_array[@]}"; do
ts_finalize_subtest
done
+ts_init_subtest "check_socket"
+ts_log "Check written socket data of all subtests."
sleep 1
kill $SOCAT_PID
+wait $SOCAT_PID &>/dev/null
+cat "$SOCKIN" >> "$TS_OUTPUT" 2>&1
+ts_finalize_subtest
ts_finalize
--
1.8.4.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 5/7] tests: logger/errors does not use --no-act
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
` (3 preceding siblings ...)
2015-04-13 12:01 ` [PATCH v2 4/7] tests: logger, validate written socket data Ruediger Meier
@ 2015-04-13 12:01 ` Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 6/7] tests: add subtests for invalid logger devive Ruediger Meier
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
---
tests/expected/logger/errors-check_socket | 18 ++++++++++++++++++
tests/ts/logger/errors | 5 ++++-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/tests/expected/logger/errors-check_socket b/tests/expected/logger/errors-check_socket
index fa36c4e..76a877f 100644
--- a/tests/expected/logger/errors-check_socket
+++ b/tests/expected/logger/errors-check_socket
@@ -1 +1,19 @@
Check written socket data of all subtests.
+socket data, kern_priority:
+<8>Feb 13 23:31:30 prio: message
+socket data, kern_priority_numeric:
+<8>Feb 13 23:31:30 prio: message
+socket data, invalid_prio:
+
+socket data, rfc5424_exceed_size:
+<13>1 2009-02-13T23:31:30.123456+00:00 test-hostname rfc5424_exceed_size - - [timeQuality tzKnown="1" isSynced="0"] abc
+socket data, id_with_space:
+
+socket data, id_with_space:
+
+socket data, tag_with_space:
+<13>Feb 13 23:31:30 A B: tag_with_space
+socket data, tag_with_space:
+<13>1 2009-02-13T23:31:30.123456+00:00 test-hostname A B - - [timeQuality tzKnown="1" isSynced="0"] tag_with_space_rfc5424
+socket data, rfc5424_msgid_with_space:
+
diff --git a/tests/ts/logger/errors b/tests/ts/logger/errors
index 8df97c8..e0a02dc 100755
--- a/tests/ts/logger/errors
+++ b/tests/ts/logger/errors
@@ -36,8 +36,11 @@ ts_init_socket_to_file $DEVLOG $SOCKIN
SOCAT_PID="$!"
function logger_fun {
- $TS_HELPER_LOGGER -u $DEVLOG -s --no-act "$@" >> "$TS_OUTPUT" 2>&1
+ # logger without --no-act to write all data to the socket
+ echo "socket data, ${TS_SUBNAME}:" |socat -u - UNIX-CONNECT:$DEVLOG
+ $TS_HELPER_LOGGER -u $DEVLOG --stderr "$@" >> "$TS_OUTPUT" 2>&1
echo "ret: $?" >> "$TS_OUTPUT"
+ echo |socat -u - UNIX-CONNECT:$DEVLOG
}
ts_init_subtest "kern_priority"
--
1.8.4.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 6/7] tests: add subtests for invalid logger devive
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
` (4 preceding siblings ...)
2015-04-13 12:01 ` [PATCH v2 5/7] tests: logger/errors does not use --no-act Ruediger Meier
@ 2015-04-13 12:01 ` Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 7/7] travis: install socat Ruediger Meier
2015-04-14 10:04 ` [PATCH v2 0/7] logger tests do not need /dev/log but socat Karel Zak
7 siblings, 0 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
Note --journald should not complain about invalid sockets.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
---
tests/expected/logger/errors-check_socket | 2 ++
tests/expected/logger/errors-invalid_socket | 2 ++
tests/ts/logger/errors | 4 ++++
tests/ts/logger/journald | 2 +-
4 files changed, 9 insertions(+), 1 deletion(-)
create mode 100644 tests/expected/logger/errors-invalid_socket
diff --git a/tests/expected/logger/errors-check_socket b/tests/expected/logger/errors-check_socket
index 76a877f..7367dc0 100644
--- a/tests/expected/logger/errors-check_socket
+++ b/tests/expected/logger/errors-check_socket
@@ -17,3 +17,5 @@ socket data, tag_with_space:
<13>1 2009-02-13T23:31:30.123456+00:00 test-hostname A B - - [timeQuality tzKnown="1" isSynced="0"] tag_with_space_rfc5424
socket data, rfc5424_msgid_with_space:
+socket data, invalid_socket:
+
diff --git a/tests/expected/logger/errors-invalid_socket b/tests/expected/logger/errors-invalid_socket
new file mode 100644
index 0000000..5720afa
--- /dev/null
+++ b/tests/expected/logger/errors-invalid_socket
@@ -0,0 +1,2 @@
+test_logger: socket /bad/boy: No such file or directory
+ret: 1
diff --git a/tests/ts/logger/errors b/tests/ts/logger/errors
index e0a02dc..0b232ec 100755
--- a/tests/ts/logger/errors
+++ b/tests/ts/logger/errors
@@ -75,6 +75,10 @@ ts_init_subtest "rfc5424_msgid_with_space"
logger_fun -t "rfc5424_msgid_with_space" --rfc5424 --msgid="A B" "message"
ts_finalize_subtest
+ts_init_subtest "invalid_socket"
+logger_fun -u /bad/boy -t "invalid_socket" "message"
+ts_finalize_subtest
+
ts_init_subtest "check_socket"
ts_log "Check written socket data of all subtests."
sleep 1
diff --git a/tests/ts/logger/journald b/tests/ts/logger/journald
index 81296f7..c10824c 100755
--- a/tests/ts/logger/journald
+++ b/tests/ts/logger/journald
@@ -30,6 +30,6 @@ if ! $TS_HELPER_LOGGER --help | grep -q journald; then
fi
printf "%s\n%s\n%s\n" MESSAGE_ID=b8f74e14bc714bfc8040a5106dc9376a MESSAGE="a b c 1 2 3" |
-$TS_HELPER_LOGGER --no-act --journald --stderr > "$TS_OUTPUT" 2>&1
+$TS_HELPER_LOGGER -u /bad/boy --no-act --journald --stderr > "$TS_OUTPUT" 2>&1
echo "ret: $?" >> "$TS_OUTPUT"
ts_finalize
--
1.8.4.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2 7/7] travis: install socat
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
` (5 preceding siblings ...)
2015-04-13 12:01 ` [PATCH v2 6/7] tests: add subtests for invalid logger devive Ruediger Meier
@ 2015-04-13 12:01 ` Ruediger Meier
2015-04-14 10:04 ` [PATCH v2 0/7] logger tests do not need /dev/log but socat Karel Zak
7 siblings, 0 replies; 9+ messages in thread
From: Ruediger Meier @ 2015-04-13 12:01 UTC (permalink / raw)
To: util-linux
From: Ruediger Meier <ruediger.meier@ga-group.nl>
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
---
.travis-functions.sh | 1 +
1 file changed, 1 insertion(+)
diff --git a/.travis-functions.sh b/.travis-functions.sh
index 86146b0..3b1d291 100755
--- a/.travis-functions.sh
+++ b/.travis-functions.sh
@@ -85,6 +85,7 @@ function travis_install_script
libudev-dev \
gtk-doc-tools \
ntp \
+ socat \
|| return
}
--
1.8.4.5
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2 0/7] logger tests do not need /dev/log but socat
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
` (6 preceding siblings ...)
2015-04-13 12:01 ` [PATCH v2 7/7] travis: install socat Ruediger Meier
@ 2015-04-14 10:04 ` Karel Zak
7 siblings, 0 replies; 9+ messages in thread
From: Karel Zak @ 2015-04-14 10:04 UTC (permalink / raw)
To: Ruediger Meier; +Cc: util-linux
On Mon, Apr 13, 2015 at 02:01:46PM +0200, Ruediger Meier wrote:
> Now we require socat for logger tests. We should NOT add fallback to
> netcat-like tools. I have tried this but there are too many different
> and broken netcat versions out there.
I think dependence on socat in the tests is fine, it's unnecessary to
have fallbacks for everything. It's test suite (mostly for developers)
not just some random environment on some random system.
> Ruediger Meier (7):
> logger: --stderr and --no-act turn "auto-errors" on
> tests: simplify common logger options
> tests: logger with socat device
> tests: logger, validate written socket data
> tests: logger/errors does not use --no-act
> tests: add subtests for invalid logger devive
> travis: install socat
Applied, thanks! It's perfect that we really test sockets now
(--stderr --no-act is poor man solution:-).
Karel
--
Karel Zak <kzak@redhat.com>
http://karelzak.blogspot.com
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2015-04-14 10:04 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-13 12:01 [PATCH v2 0/7] logger tests do not need /dev/log but socat Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 1/7] logger: --stderr and --no-act turn "auto-errors" on Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 2/7] tests: simplify common logger options Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 3/7] tests: logger with socat device Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 4/7] tests: logger, validate written socket data Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 5/7] tests: logger/errors does not use --no-act Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 6/7] tests: add subtests for invalid logger devive Ruediger Meier
2015-04-13 12:01 ` [PATCH v2 7/7] travis: install socat Ruediger Meier
2015-04-14 10:04 ` [PATCH v2 0/7] logger tests do not need /dev/log but socat Karel Zak
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox