diff options
Diffstat (limited to 'test/units')
-rwxr-xr-x | test/units/testsuite-55-slowgrowth.sh | 40 | ||||
-rw-r--r-- | test/units/testsuite-55-testbloat.service | 6 | ||||
-rw-r--r-- | test/units/testsuite-55-testmunch.service | 4 | ||||
-rwxr-xr-x | test/units/testsuite-55.sh | 3 |
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 |