]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: sync journal before read
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sat, 18 May 2024 22:12:48 +0000 (07:12 +0900)
committerLuca Boccassi <luca.boccassi@gmail.com>
Sun, 19 May 2024 11:54:28 +0000 (13:54 +0200)
Workaround for #32834 and #32890.

test/units/TEST-09-REBOOT.journal.sh
test/units/TEST-82-SOFTREBOOT.sh

index 5248d70d844ffee5d69039a7ff2b6aa6a66fd71a..320390cea5c4fcc352e091ca8295fafb66976903 100755 (executable)
@@ -22,6 +22,11 @@ get_last_timestamp() {
     journalctl -b "${1:?}" -o json -n 1 | jq -r '.__REALTIME_TIMESTAMP'
 }
 
+# There may be huge amount of pending messages in sockets. Processing them may cause journal rotation.
+# If the journal is rotated in the loop below, some journal file may not be loaded and an unexpected
+# result may be provided. To mitigate such, sync before reading journals. Workaround for #32890.
+journalctl --sync
+
 # Issue: #29275, second part
 # Now let's check if the boot entries are in the correct/expected order
 index=0
index b76ca9af3236e80c8f0c7faebea433e105ff2015..0dc4f87a60b9f96828edf11b2556be54e6ed73f4 100755 (executable)
@@ -47,6 +47,10 @@ if [ -f /run/TEST-82-SOFTREBOOT.touch3 ]; then
     [[ ! -e /run/credentials/TEST-82-SOFTREBOOT-nosurvive.service ]]
     assert_eq "$(cat /run/credentials/TEST-82-SOFTREBOOT-survive-argv.service/preserve)" "yay"
 
+    # There may be huge amount of pending messages in sockets. Processing them may cause journal rotation and
+    # removal of old archived journal files. If a journal file is removed during journalctl reading it,
+    # the command may fail. To mitigate such, sync before reading journals. Workaround for #32834.
+    journalctl --sync
     # Check journals
     journalctl -o short-monotonic --no-hostname --grep '(will soft-reboot|KILL|corrupt)'
     assert_eq "$(journalctl -q -o short-monotonic -u systemd-journald.service --grep 'corrupt')" ""