# shellcheck source=test/units/test-control.sh
. "$(dirname "$0")"/test-control.sh
+# shellcheck source=test/units/util.sh
+. "$(dirname "$0")"/util.sh
+
+maybe_mount_usr_overlay
+trap 'maybe_umount_usr_overlay' EXIT
clear_unit() {
local unit_name="${1:?}"
rm -fvr "/usr/lib/systemd/system/$UNIT_NAME" "/etc/systemd/system/$UNIT_NAME.d" "+4"
fi
+ maybe_umount_usr_overlay
+
rm -f /etc/init.d/issue-24990
return 0
}
+maybe_mount_usr_overlay
trap at_exit EXIT
# Create a simple unit file for testing
# shellcheck source=test/units/util.sh
. "$(dirname "$0")"/util.sh
+maybe_mount_usr_overlay
+trap 'maybe_umount_usr_overlay' EXIT
+
teardown_test_dependencies() (
set +eux
# shellcheck source=test/units/util.sh
. "$(dirname "$0")"/util.sh
+maybe_mount_usr_overlay
+trap 'maybe_umount_usr_overlay' EXIT
+
enable_debug() {
mkdir -p /run/systemd/system/systemd-localed.service.d
cat >>/run/systemd/system/systemd-localed.service.d/override.conf <<EOF
return 1
}
+
+MOUNTED_USR_OVERLAY=false
+
+maybe_mount_usr_overlay() {
+ if [[ ! -w /usr ]]; then
+ mkdir -p /tmp/usr-overlay/{upperdir,workdir}
+ mount -t overlay -o lowerdir=/usr,upperdir=/tmp/usr-overlay/upperdir,workdir=/tmp/usr-overlay/workdir overlay /usr
+ MOUNTED_USR_OVERLAY=true
+ fi
+}
+
+maybe_umount_usr_overlay() {
+ if "$MOUNTED_USR_OVERLAY"; then
+ umount -l /usr
+ fi
+}