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() {
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 ]

View file

@ -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 ]
}

View file

@ -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 ]
}

View file

@ -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

View file

@ -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

View file

@ -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
}

View file

@ -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"
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run --name test1 -d ${ALPINE} sleep 9999"
[ "$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} ps"
[ "$status" -eq 0 ]
ctr_id="$output"
run crioctl ctr start --id "$ctr_id"
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} stop test1"
[ "$status" -eq 0 ]
run crioctl ctr inspect --id "$ctr_id"
echo "$output"
run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} ps"
[ "$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
}