Skip to content

Commit

Permalink
add integration test for runc update with systemd
Browse files Browse the repository at this point in the history
Signed-off-by: lifubang <[email protected]>
  • Loading branch information
lifubang committed Apr 24, 2020
1 parent 1d4ccc8 commit 04acdac
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 0 deletions.
11 changes: 11 additions & 0 deletions tests/integration/helpers.bash
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,17 @@ function check_cgroup_value() {
[ "$current" = "$expected" ]
}

# Helper to check a value in systemd.
function check_systemd_value() {
unitname=$1
source=$2
expected=$3

current=$(systemctl show $unitname | grep $source)
echo "current" $current "!?" "$expected"
[ "$current" = "$expected" ]
}

# Helper function to set a resources limit
function set_resources_limit() {
bundle="${1:-.}"
Expand Down
17 changes: 17 additions & 0 deletions tests/integration/update.bats
Original file line number Diff line number Diff line change
Expand Up @@ -84,10 +84,24 @@ EOF
runc update test_update --memory 67108864
[ "$status" -eq 0 ]
check_cgroup_value $MEM_LIMIT 67108864
if [[ -n "${RUNC_USE_SYSTEMD}" ]] ; then
if [ "$CGROUP_UNIFIED" != "yes" ]; then
check_systemd_value "runc-cgroups-integration-test.scope" "MemoryMax=" "MemoryMax=67108864"
else
check_systemd_value "runc-cgroups-integration-test.scope" "MemoryLimit=" "MemoryLimit=67108864"
fi
fi

runc update test_update --memory 50M
[ "$status" -eq 0 ]
check_cgroup_value $MEM_LIMIT 52428800
if [[ -n "${RUNC_USE_SYSTEMD}" ]] ; then
if [ "$CGROUP_UNIFIED" != "yes" ]; then
check_systemd_value "runc-cgroups-integration-test.scope" "MemoryMax=" "MemoryMax=52428800"
else
check_systemd_value "runc-cgroups-integration-test.scope" "MemoryLimit=" "MemoryLimit=52428800"
fi
fi

# update memory soft limit
runc update test_update --memory-reservation 33554432
Expand Down Expand Up @@ -123,6 +137,9 @@ EOF
runc update test_update --pids-limit 10
[ "$status" -eq 0 ]
check_cgroup_value "pids.max" 10
if [[ -n "${RUNC_USE_SYSTEMD}" ]] ; then
check_systemd_value "runc-cgroups-integration-test.scope" "TasksMax=" "TasksMax=10"
fi

# Revert to the test initial value via json on stdin
runc update -r - test_update <<EOF
Expand Down

0 comments on commit 04acdac

Please sign in to comment.