mirror of
https://github.com/containers/podman.git
synced 2025-05-21 09:05:56 +08:00

First and foremost: use ephemeral (/run, $XDG) directories for systemd unit files, so as not to vandalize a working system. Second, refactor common systemd-related functionality into a new helper file, loaded by the systemd-related tests. Shared functionality includes: * setting $XDG_RUNTIME_DIR if unset and rootless * setting $UNIT_DIR for use by tests * new systemctl() and journalctl() functions, which include "--user" when rootless (why can't systemd figure this out on its own?) Signed-off-by: Ed Santiago <santiago@redhat.com>
31 lines
627 B
Bash
31 lines
627 B
Bash
# -*- bash -*-
|
|
#
|
|
# BATS helpers for systemd-related functionality
|
|
#
|
|
|
|
# podman initializes this if unset, but systemctl doesn't
|
|
if [ -z "$XDG_RUNTIME_DIR" ]; then
|
|
if is_rootless; then
|
|
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
|
fi
|
|
fi
|
|
|
|
# For tests which write systemd unit files
|
|
UNIT_DIR="/run/systemd/system"
|
|
_DASHUSER=
|
|
if is_rootless; then
|
|
UNIT_DIR="${XDG_RUNTIME_DIR}/systemd/user"
|
|
# Why isn't systemd smart enough to figure this out on its own?
|
|
_DASHUSER="--user"
|
|
fi
|
|
|
|
mkdir -p $UNIT_DIR
|
|
|
|
systemctl() {
|
|
command systemctl $_DASHUSER "$@"
|
|
}
|
|
|
|
journalctl() {
|
|
command journalctl $_DASHUSER "$@"
|
|
}
|