From 321637743313f896e275fd038996b8cfb5a070b3 Mon Sep 17 00:00:00 2001 From: Michal Koutný Date: Fri, 4 Oct 2024 20:40:51 +0200 Subject: test: Add test for per-device cgroup properties Reported in #34126 --- test/units/TEST-19-CGROUP.keyed-properties.sh | 65 +++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 test/units/TEST-19-CGROUP.keyed-properties.sh (limited to 'test') diff --git a/test/units/TEST-19-CGROUP.keyed-properties.sh b/test/units/TEST-19-CGROUP.keyed-properties.sh new file mode 100755 index 0000000000..cadefe26d5 --- /dev/null +++ b/test/units/TEST-19-CGROUP.keyed-properties.sh @@ -0,0 +1,65 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: LGPL-2.1-or-later +set -ex +set -o pipefail + +# shellcheck source=test/units/test-control.sh +. "$(dirname "$0")"/test-control.sh +# shellcheck source=test/units/util.sh +. "$(dirname "$0")"/util.sh + +if [[ "$(get_cgroup_hierarchy)" != unified ]]; then + echo "Skipping $0 as we're not running with the unified cgroup hierarchy" + exit 0 +fi + +testcase_iodevice_dbus () { + # Test that per-device properties are applied in configured order even for different devices (because + # they may resolve to same underlying device in the end + # Note: if device does not exist cgroup attribute write fails but systemd should still track the + # configured properties + systemd-run --unit=test0.service \ + --property="IOAccounting=yes" \ + sleep inf + + systemctl set-property test0.service \ + IOReadBandwidthMax="/dev/sda1 1M" \ + IOReadBandwidthMax="/dev/sda2 2M" \ + IOReadBandwidthMax="/dev/sda3 4M" + + local output + output=$(mktemp) + trap 'rm -f "$output"' RETURN + systemctl show -P IOReadBandwidthMax test0.service >"$output" + diff -u "$output" - </run/systemd/system/test1.service <"$output" + diff -u "$output" - <