Skip to content

Commit 8f724c0

Browse files
committed
test: add test case for issue user journal corruption
For issue systemd#24150 and systemd#31222.
1 parent 49b643e commit 8f724c0

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

test/test-functions

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2099,7 +2099,7 @@ install_testuser() {
20992099
# create unprivileged user for user manager tests
21002100
mkdir -p "${initdir:?}/etc/sysusers.d"
21012101
cat >"$initdir/etc/sysusers.d/testuser.conf" <<EOF
2102-
u testuser 4711 "Test User" /home/testuser
2102+
u testuser 4711 "Test User" /home/testuser /bin/bash
21032103
EOF
21042104

21052105
mkdir -p "$initdir/home/testuser"
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/usr/bin/env bash
2+
# SPDX-License-Identifier: LGPL-2.1-or-later
3+
set -eux
4+
set -o pipefail
5+
6+
journalctl --rotate --vacuum-files=1
7+
# Nuke all archived journals, so we start with a clean slate
8+
rm -f "/var/log/journal/$(</etc/machine-id)/system@*.journal"
9+
rm -f "/var/log/journal/$(</etc/machine-id)/user-*@*.journal"
10+
journalctl --header | grep path
11+
12+
# Make sure the user instance is active when we rotate journals
13+
systemd-run --unit user-sleep.service --user -M testuser@ sleep infinity
14+
15+
for _ in {0..10}; do
16+
journalctl --rotate
17+
journalctl --sync
18+
SYSTEMD_LOG_LEVEL=debug journalctl -n1 -q
19+
(! journalctl -n0 -q |& grep corrupted)
20+
done
21+
22+
systemctl stop --user -M testuser@ user-sleep.service

0 commit comments

Comments
 (0)