summaryrefslogtreecommitdiffstats
path: root/test/units
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtest/units/testsuite-55-slowgrowth.sh40
-rw-r--r--test/units/testsuite-55-testbloat.service6
-rw-r--r--test/units/testsuite-55-testmunch.service4
-rwxr-xr-xtest/units/testsuite-55.sh3
4 files changed, 8 insertions, 45 deletions
diff --git a/test/units/testsuite-55-slowgrowth.sh b/test/units/testsuite-55-slowgrowth.sh
deleted file mode 100755
index df1ea483fb..0000000000
--- a/test/units/testsuite-55-slowgrowth.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env bash
-# SPDX-License-Identifier: LGPL-2.1-or-later
-# Don't use set -x here, since it generates a lot of output and slows
-# the script down, causing unexpected test fails.
-set -eu
-set -o pipefail
-
-PAGE_SIZE=$(getconf PAGE_SIZE)
-BLOAT_ITERATION_TARGET=$((100 << 20)) # 100 MB
-BLOAT_HOLDER=()
-PID="$$"
-
-function bloat {
- local set_size mem_usage target_mem_size
-
- set_size=$(cut -d " " -f2 "/proc/$PID/statm")
- mem_usage=$((set_size * PAGE_SIZE))
- target_mem_size=$((mem_usage + $1))
-
- BLOAT_HOLDER=()
- while [[ "$mem_usage" -lt "$target_mem_size" ]]; do
- echo "target $target_mem_size"
- echo "mem usage $mem_usage"
- BLOAT_HOLDER+=("$(printf "=%0.s" {1..1000000})")
- set_size=$(cut -d " " -f2 "/proc/$PID/statm")
- mem_usage=$((set_size * PAGE_SIZE))
- done
-}
-
-function run {
- local arr=()
-
- while :; do
- bloat "$BLOAT_ITERATION_TARGET"
- arr+=("${BLOAT_HOLDER[@]}")
- sleep 1
- done
-}
-
-run
diff --git a/test/units/testsuite-55-testbloat.service b/test/units/testsuite-55-testbloat.service
index 8ec535979d..6c8e3c93ac 100644
--- a/test/units/testsuite-55-testbloat.service
+++ b/test/units/testsuite-55-testbloat.service
@@ -3,8 +3,8 @@
Description=Create a lot of memory pressure
[Service]
-# A VERY small memory.high will cause the script (trying to use a lot of memory)
+# A VERY small memory.high will cause the 'stress' (trying to use a lot of memory)
# to throttle and be put under heavy pressure.
-MemoryHigh=5M
+MemoryHigh=3M
Slice=testsuite-55-workload.slice
-ExecStart=/usr/lib/systemd/tests/testdata/units/testsuite-55-slowgrowth.sh
+ExecStart=stress --timeout 3m --vm 10 --vm-bytes 200M --vm-keep --vm-stride 1
diff --git a/test/units/testsuite-55-testmunch.service b/test/units/testsuite-55-testmunch.service
index 8820dc0678..3730059797 100644
--- a/test/units/testsuite-55-testmunch.service
+++ b/test/units/testsuite-55-testmunch.service
@@ -3,6 +3,6 @@
Description=Create some memory pressure
[Service]
-MemoryHigh=6M
+MemoryHigh=12M
Slice=testsuite-55-workload.slice
-ExecStart=/usr/lib/systemd/tests/testdata/units/testsuite-55-slowgrowth.sh
+ExecStart=stress --timeout 3m --vm 10 --vm-bytes 200M --vm-keep --vm-stride 1
diff --git a/test/units/testsuite-55.sh b/test/units/testsuite-55.sh
index 1433e79c5b..85ebb76732 100755
--- a/test/units/testsuite-55.sh
+++ b/test/units/testsuite-55.sh
@@ -89,6 +89,7 @@ while [[ $(date -u +%s) -le $timeout ]]; do
if ! systemctl status testsuite-55-testbloat.service; then
break
fi
+ oomctl
sleep 2
done
@@ -126,6 +127,7 @@ while [[ $(date -u +%s) -le $timeout ]]; do
if ! systemctl --machine "testuser@.host" --user status testsuite-55-testbloat.service; then
break
fi
+ oomctl
sleep 2
done
@@ -153,6 +155,7 @@ EOF
if ! systemctl status testsuite-55-testmunch.service; then
break
fi
+ oomctl
sleep 2
done