Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Slowroll
systemd
5008-test-Add-effective-cgroup-limits-testing.p...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 5008-test-Add-effective-cgroup-limits-testing.patch of Package systemd
From d0c92dae23e409f6a29f70f039455c08610c943f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Koutn=C3=BD?= <mkoutny@suse.com> Date: Tue, 23 Jan 2024 11:30:19 +0100 Subject: [PATCH 5008/5011] test: Add effective cgroup limits testing (cherry picked from commit ce35bb95c7b6fe9a48d2b8628bd690279b17fffa) [mkoutny: fixes jsc#PED-5659] --- test/units/testsuite-05.effective-limit.sh | 68 ++++++++++++++++++++++ test/units/util.sh | 9 +++ 2 files changed, 77 insertions(+) create mode 100755 test/units/testsuite-05.effective-limit.sh diff --git a/test/units/testsuite-05.effective-limit.sh b/test/units/testsuite-05.effective-limit.sh new file mode 100755 index 0000000000..3ff8e83140 --- /dev/null +++ b/test/units/testsuite-05.effective-limit.sh @@ -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"* || : diff --git a/test/units/util.sh b/test/units/util.sh index 932fe1e603..7af98bb45e 100755 --- a/test/units/util.sh +++ b/test/units/util.sh @@ -26,6 +26,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 -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor