Update container-based tests

Signed-off-by: Matthew Heon <matthew.heon@gmail.com>

Closes: #68
Approved by: rhatdan
This commit is contained in:
Matthew Heon
2017-11-24 11:04:22 -05:00
committed by Atomic Bot
parent 831e2c30d4
commit 0e3dd5f687
7 changed files with 61 additions and 101 deletions

View File

@ -7,18 +7,17 @@ function setup() {
} }
function teardown() { function teardown() {
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`"
cleanup_test cleanup_test
} }
@test "create a container based on local image" { @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 run ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls
echo "$output" echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
} }
@test "create a container based on a remote image" { @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 run ${KPOD_BINARY} ${KPOD_OPTIONS} create ${BB_GLIBC} ls
echo "$output" echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]

View File

@ -3,6 +3,7 @@
load helpers load helpers
function teardown() { function teardown() {
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`"
cleanup_test cleanup_test
} }
@ -10,82 +11,55 @@ function setup() {
copy_images 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" { @test "kill a bogus container" {
run ${KPOD_BINARY} ${KPOD_OPTIONS} kill foobar run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill foobar"
echo "$output" echo "$output"
[ "$status" -ne 0 ] [ "$status" -ne 0 ]
} }
@test "kill a running container by id" { @test "kill a running container by id" {
skip "Test needs to be converted to kpod run" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999"
start_crio [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest ctr_id="$output"
ctr_id=$( start_sleep_container ) run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
crioctl ctr status --id "$ctr_id" [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} ps -a run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill $ctr_id"
${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" [ "$status" -eq 0 ]
crioctl ctr status --id "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} kill "$ctr_id"
echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
cleanup_ctrs
cleanup_pods
stop_crio
} }
@test "kill a running container by id with TERM" { @test "kill a running container by id with TERM" {
skip "Test needs to be converted to kpod run" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999"
start_crio [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest ctr_id="$output"
ctr_id=$( start_sleep_container ) run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
crioctl ctr status --id "$ctr_id" [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} ps -a run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill -s TERM $ctr_id"
${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" [ "$status" -eq 0 ]
crioctl ctr status --id "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps --no-trunc"
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} kill -s TERM "$ctr_id"
echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
cleanup_ctrs
cleanup_pods
stop_crio
} }
@test "kill a running container by name" { @test "kill a running container by name" {
skip "Test needs to be converted to kpod run" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999"
start_crio [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
ctr_id=$( start_sleep_container ) [ "$status" -eq 0 ]
crioctl ctr status --id "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill -s TERM test1"
${KPOD_BINARY} ${KPOD_OPTIONS} ps -a [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps --no-trunc"
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"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
cleanup_ctrs
cleanup_pods
stop_crio
} }
@test "kill a running container by id with a bogus signal" { @test "kill a running container by id with a bogus signal" {
skip "Test needs to be converted to kpod run" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999"
start_crio [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest ctr_id="$output"
ctr_id=$( start_sleep_container ) run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
crioctl ctr status --id "$ctr_id" [ "$status" -eq 0 ]
${KPOD_BINARY} ${KPOD_OPTIONS} logs "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} kill -s foobar $ctr_id"
crioctl ctr status --id "$ctr_id" [ "$status" -eq 1 ]
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} kill -s foobar "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps --no-trunc"
echo "$output" [ "$status" -eq 0 ]
[ "$status" -ne 0 ]
cleanup_ctrs
cleanup_pods
stop_crio
} }

View File

@ -5,6 +5,7 @@ load helpers
IMAGE="redis:alpine" IMAGE="redis:alpine"
function teardown() { function teardown() {
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`"
cleanup_test cleanup_test
} }
@ -35,7 +36,4 @@ function setup() {
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} unmount $ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} unmount $ctr_id"
echo "$output" echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm $ctr_id"
echo "$output"
[ "$status" -eq 0 ]
} }

View File

@ -7,6 +7,10 @@ function setup() {
copy_images 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" { @test "kpod ps with no containers" {
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} ps run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} ps

View File

@ -6,6 +6,11 @@ function setup() {
copy_images 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" { @test "remove a stopped container" {
run ${KPOD_BINARY} $KPOD_OPTIONS run -d ${ALPINE} ls run ${KPOD_BINARY} $KPOD_OPTIONS run -d ${ALPINE} ls
echo "$output" echo "$output"
@ -37,7 +42,6 @@ function setup() {
} }
@test "remove a running container" { @test "remove a running container" {
skip "Skipping until kpod stop is implemented"
run ${KPOD_BINARY} $KPOD_OPTIONS run -d ${ALPINE} sleep 15 run ${KPOD_BINARY} $KPOD_OPTIONS run -d ${ALPINE} sleep 15
echo "$output" echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
@ -58,7 +62,6 @@ function setup() {
} }
@test "remove all containers with one running" { @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
${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls -l ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls -l
${KPOD_BINARY} ${KPOD_OPTIONS} create $BB whoami ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB whoami

View File

@ -2,6 +2,11 @@
load helpers load helpers
function teardown() {
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`"
cleanup_test
}
function setup() { function setup() {
copy_images copy_images
} }

View File

@ -3,6 +3,7 @@
load helpers load helpers
function teardown() { function teardown() {
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} rm -f `${KPOD_BINARY} ${KPOD_OPTIONS} ps -a -q`"
cleanup_test cleanup_test
} }
@ -11,54 +12,30 @@ function setup() {
} }
@test "stop a bogus container" { @test "stop a bogus container" {
run ${KPOD_BINARY} ${KPOD_OPTIONS} stop foobar run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} stop foobar"
echo "$output" echo "$output"
[ "$status" -eq 1 ] [ "$status" -eq 1 ]
} }
@test "stop a running container by id" { @test "stop a running container by id" {
skip "Test needs to be converted to kpod run" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -d ${ALPINE} sleep 9999"
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"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
ctr_id="$output" ctr_id="$output"
run crioctl ctr start --id "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
echo "$output"
id="$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} stop "$id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} stop $ctr_id"
echo "$output" [ "$status" -eq 0 ]
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
cleanup_pods
stop_crio
} }
@test "stop a running container by name" { @test "stop a running container by name" {
skip "Test needs to be converted to kpod run" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999"
start_crio
run crioctl pod run --config "$TESTDATA"/sandbox_config.json
echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
pod_id="$output" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
run crioctl ctr create --config "$TESTDATA"/container_config.json --pod "$pod_id"
echo "$output"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
ctr_id="$output" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} stop test1"
run crioctl ctr start --id "$ctr_id"
[ "$status" -eq 0 ] [ "$status" -eq 0 ]
run crioctl ctr inspect --id "$ctr_id" run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
echo "$output"
[ "$status" -eq 0 ] [ "$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"
[ "$status" -eq 0 ]
cleanup_pods
stop_crio
} }