From 7c81f032861f5654e9063e5af82c7794401682f4 Mon Sep 17 00:00:00 2001 From: Aleksa Sarai Date: Tue, 10 May 2016 22:22:13 +1000 Subject: [PATCH 10/94] integration: added root requires This is in preperation of allowing us to run the integration test suite on rootless containers. Change-Id: I38f7115df4f931857659892b07745c86507d14bf Signed-off-by: Aleksa Sarai --- tests/integration/cgroups.bats | 8 ++++++-- tests/integration/checkpoint.bats | 3 ++- tests/integration/helpers.bash | 10 +++++++++- tests/integration/kill.bats | 1 - tests/integration/pause.bats | 6 ++++++ tests/integration/update.bats | 6 +++++- 6 files changed, 28 insertions(+), 6 deletions(-) diff --git a/tests/integration/cgroups.bats b/tests/integration/cgroups.bats index 9ab6f43..90095a7 100644 --- a/tests/integration/cgroups.bats +++ b/tests/integration/cgroups.bats @@ -28,7 +28,9 @@ function check_cgroup_value() { } @test "runc update --kernel-memory (initialized)" { - requires cgroups_kmem + # XXX: currently cgroups require root containers. + requires cgroups_kmem root + # Add cgroup path sed -i 's/\("linux": {\)/\1\n "cgroupsPath": "\/runc-cgroups-integration-test",/' ${BUSYBOX_BUNDLE}/config.json @@ -56,7 +58,9 @@ EOF } @test "runc update --kernel-memory (uninitialized)" { - requires cgroups_kmem + # XXX: currently cgroups require root containers. + requires cgroups_kmem root + # Add cgroup path sed -i 's/\("linux": {\)/\1\n "cgroupsPath": "\/runc-cgroups-integration-test",/' ${BUSYBOX_BUNDLE}/config.json diff --git a/tests/integration/checkpoint.bats b/tests/integration/checkpoint.bats index 34d1b03..e91fd65 100644 --- a/tests/integration/checkpoint.bats +++ b/tests/integration/checkpoint.bats @@ -12,7 +12,8 @@ function teardown() { } @test "checkpoint and restore" { - requires criu + # XXX: currently criu require root containers. + requires criu root # criu does not work with external terminals so.. # setting terminal and root:readonly: to false diff --git a/tests/integration/helpers.bash b/tests/integration/helpers.bash index e4c2cb9..6548333 100644 --- a/tests/integration/helpers.bash +++ b/tests/integration/helpers.bash @@ -40,6 +40,9 @@ CGROUP_CPU_BASE_PATH=$(grep "cgroup" /proc/self/mountinfo | gawk 'toupper($NF) ~ KMEM="${CGROUP_MEMORY_BASE_PATH}/memory.kmem.limit_in_bytes" RT_PERIOD="${CGROUP_CPU_BASE_PATH}/cpu.rt_period_us" +# Check if we're in rootless mode. +ROOTLESS=$(id -u) + # Wrapper for runc. function runc() { run __runc "$@" @@ -68,7 +71,12 @@ function requires() { case $var in criu) if [ ! -e "$CRIU" ]; then - skip "Test requires ${var}." + skip "test requires ${var}" + fi + ;; + root) + if [ "$ROOTLESS" -ne 0 ]; then + skip "test requires ${var}" fi ;; cgroups_kmem) diff --git a/tests/integration/kill.bats b/tests/integration/kill.bats index a049de6..74246fa 100644 --- a/tests/integration/kill.bats +++ b/tests/integration/kill.bats @@ -13,7 +13,6 @@ function teardown() { @test "kill detached busybox" { - # run busybox detached runc run -d --console-socket $CONSOLE_SOCKET test_busybox [ "$status" -eq 0 ] diff --git a/tests/integration/pause.bats b/tests/integration/pause.bats index 2f46a6c..30d98b5 100644 --- a/tests/integration/pause.bats +++ b/tests/integration/pause.bats @@ -12,6 +12,9 @@ function teardown() { } @test "runc pause and resume" { + # XXX: currently cgroups require root containers. + requires root + # run busybox detached runc run -d --console-socket $CONSOLE_SOCKET test_busybox [ "$status" -eq 0 ] @@ -34,6 +37,9 @@ function teardown() { } @test "runc pause and resume with nonexist container" { + # XXX: currently cgroups require root containers. + requires root + # run test_busybox detached runc run -d --console-socket $CONSOLE_SOCKET test_busybox [ "$status" -eq 0 ] diff --git a/tests/integration/update.bats b/tests/integration/update.bats index 9aaf1b9..4a6bf7f 100644 --- a/tests/integration/update.bats +++ b/tests/integration/update.bats @@ -50,7 +50,11 @@ function check_cgroup_value() { # TODO: test rt cgroup updating @test "update" { - requires cgroups_kmem + # XXX: currently cgroups require root containers. + # XXX: Also, this test should be split into separate sections so that we + # can skip kmem without skipping update tests overall. + requires cgroups_kmem root + # run a few busyboxes detached runc run -d --console-socket $CONSOLE_SOCKET test_update [ "$status" -eq 0 ] -- 2.7.4.3