tests/int/events: skip oom test if no swap
In case swap cgroup control is not available, the "event oom" test gives the following error: > # not ok 30 events oom > # (in test file tests/integration/events.bats, line 134) > # `[ "$status" -eq 0 ]' failed > # <....> > # runc run -d --console-socket /tmp/console.sock test_busybox (status=1): > # time="2020-05-29T02:10:20Z" level=warning msg="signal: killed" > # time="2020-05-29T02:10:20Z" level=error msg="container_linux.go:353: starting container process caused: process_linux.go:437: container init caused: process_linux.go:403: setting cgroup config for procHooks process caused: failed to write \"33554432\" to \"/sys/fs/cgroup/memory/test_busybox/memory.memsw.limit_in_bytes\": open /sys/fs/cgroup/memory/test_busybox/memory.memsw.limit_in_bytes: permission denied" When I try to run the test without setting the swap limit, the shell process is still getting killed, but the test hangs. I am not sure what the reason is, but realistically this test is hard to perform without the swap limit, so let's require cgroup swap for it. Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This commit is contained in:
parent
755b1016ee
commit
ed1f14afb5
|
@ -112,11 +112,11 @@ function teardown() {
|
|||
[ "$status" -eq 0 ]
|
||||
}
|
||||
|
||||
@test "events oom " {
|
||||
@test "events oom" {
|
||||
# XXX: currently cgroups require root containers.
|
||||
requires root
|
||||
requires root cgroups_swap
|
||||
init_cgroup_paths
|
||||
|
||||
|
||||
# we need the container to hit OOM, so disable swap
|
||||
# ("swap" here is actually memory+swap)
|
||||
DATA=$(cat <<EOF
|
||||
|
|
|
@ -257,6 +257,12 @@ function requires() {
|
|||
skip_me=1
|
||||
fi
|
||||
;;
|
||||
cgroups_swap)
|
||||
init_cgroup_paths
|
||||
if [ $CGROUP_UNIFIED = "no" -a ! -e "${CGROUP_MEMORY_BASE_PATH}/memory.memsw.limit_in_bytes" ]; then
|
||||
skip_me=1
|
||||
fi
|
||||
;;
|
||||
cgroups_v1)
|
||||
init_cgroup_paths
|
||||
if [ "$CGROUP_UNIFIED" != "no" ]; then
|
||||
|
|
Loading…
Reference in New Issue