mirror of
https://github.com/systemd/systemd.git
synced 2025-02-28 05:57:33 +03:00
test: Add effective cgroup limits testing
This commit is contained in:
parent
834ca54624
commit
ce35bb95c7
68
test/units/testsuite-05.effective-limit.sh
Executable file
68
test/units/testsuite-05.effective-limit.sh
Executable file
@ -0,0 +1,68 @@
|
||||
#!/usr/bin/env bash
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
set -eux
|
||||
set -o pipefail
|
||||
|
||||
# shellcheck source=test/units/util.sh
|
||||
. "$(dirname "$0")"/util.sh
|
||||
|
||||
pre=test05
|
||||
cat >/run/systemd/system/"$pre"alpha.slice <<EOF
|
||||
[Slice]
|
||||
MemoryMax=40M
|
||||
MemoryHigh=40M
|
||||
TasksMax=400
|
||||
EOF
|
||||
|
||||
cat >/run/systemd/system/"$pre"alpha-beta.slice <<EOF
|
||||
[Slice]
|
||||
MemoryMax=10M
|
||||
MemoryHigh=10M
|
||||
TasksMax=100
|
||||
EOF
|
||||
|
||||
cat >/run/systemd/system/"$pre"alpha-beta-gamma.slice <<EOF
|
||||
[Slice]
|
||||
MemoryMax=20M
|
||||
MemoryHigh=20M
|
||||
TasksMax=200
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
srv=probe.service
|
||||
slc0="$pre"alpha.slice
|
||||
slc="$pre"alpha-beta-gamma.slice
|
||||
|
||||
systemd-run --unit "$srv" --slice "$slc" \
|
||||
-p MemoryMax=5M \
|
||||
-p MemoryHigh=5M \
|
||||
-p TasksMax=50 \
|
||||
sleep inf
|
||||
|
||||
# Compare with inequality because test can run in a constrained container
|
||||
assert_le "$(systemctl show -P EffectiveMemoryMax "$srv")" "5242880"
|
||||
assert_le "$(systemctl show -P EffectiveMemoryHigh "$srv")" "5242880"
|
||||
assert_le "$(systemctl show -P EffectiveTasksMax "$srv")" "50"
|
||||
|
||||
systemctl stop "$srv"
|
||||
|
||||
systemd-run --unit "$srv" --slice "$slc" \
|
||||
sleep inf
|
||||
|
||||
assert_le "$(systemctl show -P EffectiveMemoryMax "$srv")" "10485760"
|
||||
assert_le "$(systemctl show -P EffectiveMemoryHigh "$srv")" "10485760"
|
||||
assert_le "$(systemctl show -P EffectiveTasksMax "$srv")" "100"
|
||||
|
||||
systemctl set-property "$slc0" \
|
||||
MemoryMax=5M \
|
||||
MemoryHigh=5M \
|
||||
TasksMax=50
|
||||
|
||||
assert_le "$(systemctl show -P EffectiveMemoryMax "$srv")" "5242880"
|
||||
assert_le "$(systemctl show -P EffectiveMemoryHigh "$srv")" "5242880"
|
||||
assert_le "$(systemctl show -P EffectiveTasksMax "$srv")" "50"
|
||||
|
||||
systemctl stop "$srv"
|
||||
|
||||
rm -f /run/systemd/system/"$pre"* || :
|
@ -28,6 +28,15 @@ assert_eq() {(
|
||||
fi
|
||||
)}
|
||||
|
||||
assert_le() {(
|
||||
set +ex
|
||||
|
||||
if [[ "${1:?}" -gt "${2:?}" ]]; then
|
||||
echo "FAIL: '$1' > '$2'" >&2
|
||||
exit 1
|
||||
fi
|
||||
)}
|
||||
|
||||
assert_in() {(
|
||||
set +ex
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user