You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
6.0 KiB
114 lines
6.0 KiB
2 years ago
|
From 3e7bcbb274618a0d3cea9027db4e6abb1207f27d Mon Sep 17 00:00:00 2001
|
||
|
From: Yu Watanabe <watanabe.yu+github@gmail.com>
|
||
|
Date: Fri, 16 Dec 2022 01:11:39 +0900
|
||
|
Subject: [PATCH] test: show and check almost all journal entries since the
|
||
|
relevant command being invoked
|
||
|
MIME-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
|
||
|
For some reasons, journal timestamps from other sources sometimes
|
||
|
inconsistent. For example,
|
||
|
```
|
||
|
$ journalctl --file system.journal -o short-monotonic -u resmontest.service
|
||
|
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN AAAA
|
||
|
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
|
||
|
[ 1112.168109] ns1.unsigned.test resolvectl[419]: → Q: ns1.unsigned.test IN A
|
||
|
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← S: success
|
||
|
[ 1112.168109] ns1.unsigned.test resolvectl[419]: ← A: ns1.unsigned.test IN A 10.0.0.1
|
||
|
[ 1112.171961] ns1.unsigned.test systemd[1]: resmontest.service: Failed to load configuration: No such file or directory
|
||
|
[ 1112.172223] ns1.unsigned.test systemd[1]: resmontest.service: Trying to enqueue job resmontest.service/start/fail
|
||
|
[ 1112.179866] ns1.unsigned.test systemd[1]: resmontest.service: Installed new job resmontest.service/start as 312
|
||
|
[ 1112.179894] ns1.unsigned.test systemd[1]: resmontest.service: Enqueued job resmontest.service/start as 312
|
||
|
[ 1112.180389] ns1.unsigned.test systemd[1]: resmontest.service: Will spawn child (service_enter_start): /usr/bin/resolvectl
|
||
|
[ 1112.180418] ns1.unsigned.test systemd[1]: resmontest.service: Passing 0 fds to service
|
||
|
[ 1112.180447] ns1.unsigned.test systemd[1]: resmontest.service: About to execute /usr/bin/resolvectl monitor
|
||
|
[ 1112.180477] ns1.unsigned.test systemd[1]: resmontest.service: Forked /usr/bin/resolvectl as 419
|
||
|
[ 1112.180619] ns1.unsigned.test systemd[1]: resmontest.service: Changed dead -> start
|
||
|
[ 1112.180651] ns1.unsigned.test systemd[1]: Starting resmontest.service...
|
||
|
[ 1112.180799] ns1.unsigned.test systemd[419]: resmontest.service: Kernel keyring access prohibited, ignoring.
|
||
|
[ 1112.180895] ns1.unsigned.test systemd[419]: resmontest.service: Executing: /usr/bin/resolvectl monitor
|
||
|
[ 1112.181383] ns1.unsigned.test systemd[1]: resmontest.service: Got notification message from PID 419 (READY=1)
|
||
|
[ 1112.181413] ns1.unsigned.test systemd[1]: resmontest.service: Changed start -> running
|
||
|
[ 1112.181441] ns1.unsigned.test systemd[1]: resmontest.service: Job 312 resmontest.service/start finished, result=done
|
||
|
[ 1112.181469] ns1.unsigned.test systemd[1]: Started resmontest.service.
|
||
|
```
|
||
|
In such case, `journalctl -f` may not show the entries what we are interested in.
|
||
|
|
||
|
Fixes #25749. (At least, workarond for the issue.)
|
||
|
|
||
|
(cherry picked from commit ad48ff12bd0f7b19dc6bfa33c96221fd9c22e89c)
|
||
|
|
||
|
Related: #2138081
|
||
|
---
|
||
|
test/units/testsuite-75.sh | 22 +++++++++++++---------
|
||
|
1 file changed, 13 insertions(+), 9 deletions(-)
|
||
|
|
||
|
diff --git a/test/units/testsuite-75.sh b/test/units/testsuite-75.sh
|
||
|
index 844dbaebcc..852caac605 100755
|
||
|
--- a/test/units/testsuite-75.sh
|
||
|
+++ b/test/units/testsuite-75.sh
|
||
|
@@ -19,13 +19,14 @@ run() {
|
||
|
monitor_check_rr() (
|
||
|
set +x
|
||
|
set +o pipefail
|
||
|
- local match="${1:?}"
|
||
|
+ local since="${1:?}"
|
||
|
+ local match="${2:?}"
|
||
|
|
||
|
# Wait until the first mention of the specified log message is
|
||
|
# displayed. We turn off pipefail for this, since we don't care about the
|
||
|
# lhs of this pipe expression, we only care about the rhs' result to be
|
||
|
# clean
|
||
|
- journalctl -u resmontest.service -f --full | grep -m1 "$match"
|
||
|
+ journalctl -u resmontest.service --since "$since" -f --full | grep -m1 "$match"
|
||
|
)
|
||
|
|
||
|
# Test for resolvectl, resolvconf
|
||
|
@@ -232,9 +233,10 @@ knotc reload
|
||
|
|
||
|
: "--- nss-resolve/nss-myhostname tests"
|
||
|
# Sanity check
|
||
|
+TIMESTAMP=$(date '+%F %T')
|
||
|
run getent -s resolve hosts ns1.unsigned.test
|
||
|
grep -qE "^10\.0\.0\.1\s+ns1\.unsigned\.test" "$RUN_OUT"
|
||
|
-monitor_check_rr "ns1.unsigned.test IN A 10.0.0.1"
|
||
|
+monitor_check_rr "$TIMESTAMP" "ns1.unsigned.test IN A 10.0.0.1"
|
||
|
|
||
|
# Issue: https://github.com/systemd/systemd/issues/18812
|
||
|
# PR: https://github.com/systemd/systemd/pull/18896
|
||
|
@@ -324,15 +326,16 @@ run delv dupe.signed.test
|
||
|
grep -qF "; fully validated" "$RUN_OUT"
|
||
|
|
||
|
# Test resolution of CNAME chains
|
||
|
+TIMESTAMP=$(date '+%F %T')
|
||
|
run resolvectl query -t A cname-chain.signed.test
|
||
|
grep -qF "follow14.final.signed.test IN A 10.0.0.14" "$RUN_OUT"
|
||
|
grep -qF "authenticated: yes" "$RUN_OUT"
|
||
|
|
||
|
-monitor_check_rr "follow10.so.close.signed.test IN CNAME follow11.yet.so.far.signed.test"
|
||
|
-monitor_check_rr "follow11.yet.so.far.signed.test IN CNAME follow12.getting.hot.signed.test"
|
||
|
-monitor_check_rr "follow12.getting.hot.signed.test IN CNAME follow13.almost.final.signed.test"
|
||
|
-monitor_check_rr "follow13.almost.final.signed.test IN CNAME follow14.final.signed.test"
|
||
|
-monitor_check_rr "follow14.final.signed.test IN A 10.0.0.14"
|
||
|
+monitor_check_rr "$TIMESTAMP" "follow10.so.close.signed.test IN CNAME follow11.yet.so.far.signed.test"
|
||
|
+monitor_check_rr "$TIMESTAMP" "follow11.yet.so.far.signed.test IN CNAME follow12.getting.hot.signed.test"
|
||
|
+monitor_check_rr "$TIMESTAMP" "follow12.getting.hot.signed.test IN CNAME follow13.almost.final.signed.test"
|
||
|
+monitor_check_rr "$TIMESTAMP" "follow13.almost.final.signed.test IN CNAME follow14.final.signed.test"
|
||
|
+monitor_check_rr "$TIMESTAMP" "follow14.final.signed.test IN A 10.0.0.14"
|
||
|
|
||
|
# Non-existing RR + CNAME chain
|
||
|
run dig +dnssec AAAA cname-chain.signed.test
|
||
|
@@ -370,9 +373,10 @@ grep -qF 'this.should.be.authenticated.wild.onlinesign.test IN TXT "this is an o
|
||
|
grep -qF "authenticated: yes" "$RUN_OUT"
|
||
|
|
||
|
# Resolve via dbus method
|
||
|
+TIMESTAMP=$(date '+%F %T')
|
||
|
run busctl call org.freedesktop.resolve1 /org/freedesktop/resolve1 org.freedesktop.resolve1.Manager ResolveHostname 'isit' 0 secondsub.onlinesign.test 0 0
|
||
|
grep -qF '10 0 0 134 "secondsub.onlinesign.test"' "$RUN_OUT"
|
||
|
-monitor_check_rr "secondsub.onlinesign.test IN A 10.0.0.134"
|
||
|
+monitor_check_rr "$TIMESTAMP" "secondsub.onlinesign.test IN A 10.0.0.134"
|
||
|
|
||
|
: "--- ZONE: untrusted.test (DNSSEC without propagated DS records) ---"
|
||
|
run dig +short untrusted.test
|