From 0e3dd5f6877db7eed33319176f5e9a63fbefc4db Mon Sep 17 00:00:00 2001 From: Matthew Heon Date: Fri, 24 Nov 2017 11:04:22 -0500 Subject: Update container-based tests Signed-off-by: Matthew Heon Closes: #68 Approved by: rhatdan --- test/kpod_create.bats | 3 +- test/kpod_kill.bats | 94 +++++++++++++++++++-------------------------------- test/kpod_mount.bats | 4 +-- test/kpod_ps.bats | 4 +++ test/kpod_rm.bats | 7 ++-- test/kpod_run.bats | 5 +++ test/kpod_stop.bats | 45 ++++++------------------ 7 files changed, 61 insertions(+), 101 deletions(-) diff --git a/test/kpod_create.bats b/test/kpod_create.bats index 5605b5fe0..7346834c7 100644 --- a/test/kpod_create.bats +++ b/test/kpod_create.bats @@ -7,18 +7,17 @@ function setup() { } function teardown() { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`" cleanup_test } @test "create a container based on local image" { - skip "Reenable after kpod rm merges, and use rm to clean up" run ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls echo "$output" [ "$status" -eq 0 ] } @test "create a container based on a remote image" { - skip "Reenable after kpod rm merges, and use rm to clean up" run ${KPOD_BINARY} ${KPOD_OPTIONS} create ${BB_GLIBC} ls echo "$output" [ "$status" -eq 0 ] diff --git a/test/kpod_kill.bats b/test/kpod_kill.bats index b267fc9df..c0f01e8b4 100644 --- a/test/kpod_kill.bats +++ b/test/kpod_kill.bats @@ -3,6 +3,7 @@ load helpers function teardown() { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`" cleanup_test } @@ -10,82 +11,55 @@ function setup() { copy_images } -function start_sleep_container () { - pod_id=$(crioctl pod run --config "$TESTDATA"/sandbox_config.json) - ctr_id=$(crioctl ctr create --config "$TESTDATA"/container_config_sleep.json --pod "$pod_id") - crioctl ctr start --id "$ctr_id" -} - @test "kill a bogus container" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} kill foobar + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill foobar" echo "$output" [ "$status" -ne 0 ] } @test "kill a running container by id" { - skip "Test needs to be converted to kpod run" - start_crio - ${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest - ctr_id=$( start_sleep_container ) - crioctl ctr status --id "$ctr_id" - ${KPOD_BINARY} ${KPOD_OPTIONS} ps -a - ${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" - crioctl ctr status --id "$ctr_id" - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} kill "$ctr_id" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999" + [ "$status" -eq 0 ] + ctr_id="$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill $ctr_id" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" [ "$status" -eq 0 ] - cleanup_ctrs - cleanup_pods - stop_crio } @test "kill a running container by id with TERM" { - skip "Test needs to be converted to kpod run" - start_crio - ${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest - ctr_id=$( start_sleep_container ) - crioctl ctr status --id "$ctr_id" - ${KPOD_BINARY} ${KPOD_OPTIONS} ps -a - ${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" - crioctl ctr status --id "$ctr_id" - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} kill -s TERM "$ctr_id" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999" + [ "$status" -eq 0 ] + ctr_id="$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill -s TERM $ctr_id" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps --no-trunc" [ "$status" -eq 0 ] - cleanup_ctrs - cleanup_pods - stop_crio } @test "kill a running container by name" { - skip "Test needs to be converted to kpod run" - start_crio - ${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest - ctr_id=$( start_sleep_container ) - crioctl ctr status --id "$ctr_id" - ${KPOD_BINARY} ${KPOD_OPTIONS} ps -a - ${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" - crioctl ctr status --id "$ctr_id" - ${KPOD_BINARY} ${KPOD_OPTIONS} ps -a - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} kill "k8s_container999_podsandbox1_redhat.test.crio_redhat-test-crio_1" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill -s TERM test1" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps --no-trunc" [ "$status" -eq 0 ] - cleanup_ctrs - cleanup_pods - stop_crio } @test "kill a running container by id with a bogus signal" { - skip "Test needs to be converted to kpod run" - start_crio - ${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest - ctr_id=$( start_sleep_container ) - crioctl ctr status --id "$ctr_id" - ${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" - crioctl ctr status --id "$ctr_id" - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} kill -s foobar "$ctr_id" - echo "$output" - [ "$status" -ne 0 ] - cleanup_ctrs - cleanup_pods - stop_crio + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999" + [ "$status" -eq 0 ] + ctr_id="$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill -s foobar $ctr_id" + [ "$status" -eq 1 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps --no-trunc" + [ "$status" -eq 0 ] } diff --git a/test/kpod_mount.bats b/test/kpod_mount.bats index 35f707451..46d10ad2e 100644 --- a/test/kpod_mount.bats +++ b/test/kpod_mount.bats @@ -5,6 +5,7 @@ load helpers IMAGE="redis:alpine" function teardown() { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`" cleanup_test } @@ -35,7 +36,4 @@ function setup() { run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} unmount $ctr_id" echo "$output" [ "$status" -eq 0 ] - run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm $ctr_id" - echo "$output" - [ "$status" -eq 0 ] } diff --git a/test/kpod_ps.bats b/test/kpod_ps.bats index 4f722da34..99127cb8f 100644 --- a/test/kpod_ps.bats +++ b/test/kpod_ps.bats @@ -7,6 +7,10 @@ function setup() { copy_images } +function teardown() { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`" + cleanup_test +} @test "kpod ps with no containers" { run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} ps diff --git a/test/kpod_rm.bats b/test/kpod_rm.bats index 3a7551ea6..ad8d43062 100644 --- a/test/kpod_rm.bats +++ b/test/kpod_rm.bats @@ -6,6 +6,11 @@ function setup() { copy_images } +function teardown() { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`" + cleanup_test +} + @test "remove a stopped container" { run ${KPOD_BINARY} $KPOD_OPTIONS run -d ${ALPINE} ls echo "$output" @@ -37,7 +42,6 @@ function setup() { } @test "remove a running container" { - skip "Skipping until kpod stop is implemented" run ${KPOD_BINARY} $KPOD_OPTIONS run -d ${ALPINE} sleep 15 echo "$output" [ "$status" -eq 0 ] @@ -58,7 +62,6 @@ function setup() { } @test "remove all containers with one running" { - skip "Skipping until kpod stop is implemented" ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls -l ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB whoami diff --git a/test/kpod_run.bats b/test/kpod_run.bats index 5c38c37da..ee21430f8 100644 --- a/test/kpod_run.bats +++ b/test/kpod_run.bats @@ -2,6 +2,11 @@ load helpers +function teardown() { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`" + cleanup_test +} + function setup() { copy_images } diff --git a/test/kpod_stop.bats b/test/kpod_stop.bats index 7d9cf3e63..631aa5995 100644 --- a/test/kpod_stop.bats +++ b/test/kpod_stop.bats @@ -3,6 +3,7 @@ load helpers function teardown() { + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`" cleanup_test } @@ -11,54 +12,30 @@ function setup() { } @test "stop a bogus container" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} stop foobar + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} stop foobar" echo "$output" [ "$status" -eq 1 ] } @test "stop a running container by id" { - skip "Test needs to be converted to kpod run" - start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json - echo "$output" - [ "$status" -eq 0 ] - pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999" [ "$status" -eq 0 ] ctr_id="$output" - run crioctl ctr start --id "$ctr_id" - echo "$output" - id="$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} stop "$id" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} stop $ctr_id" + [ "$status" -eq 0 ] + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" [ "$status" -eq 0 ] - cleanup_pods - stop_crio } @test "stop a running container by name" { - skip "Test needs to be converted to kpod run" - start_crio - run crioctl pod run --config "$TESTDATA"/sandbox_config.json - echo "$output" - [ "$status" -eq 0 ] - pod_id="$output" - run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999" [ "$status" -eq 0 ] - ctr_id="$output" - run crioctl ctr start --id "$ctr_id" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" [ "$status" -eq 0 ] - run crioctl ctr inspect --id "$ctr_id" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} stop test1" [ "$status" -eq 0 ] - ctr_name=$(python -c 'import json; import sys; print json.load(sys.stdin)["crio_annotations"]["io.kubernetes.cri-o.Name"]' <<< "$output") - echo container name is \""$ctr_name"\" - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} stop "$ctr_name" - echo "$output" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps" [ "$status" -eq 0 ] - cleanup_pods - stop_crio } -- cgit v1.2.3-54-g00ecf