diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/helpers.bash | 85 | ||||
-rw-r--r-- | test/kpod_create.bats | 11 | ||||
-rw-r--r-- | test/kpod_diff.bats | 22 | ||||
-rw-r--r-- | test/kpod_export.bats | 5 | ||||
-rw-r--r-- | test/kpod_history.bats | 45 | ||||
-rw-r--r-- | test/kpod_import.bats | 4 | ||||
-rw-r--r-- | test/kpod_inspect.bats | 26 | ||||
-rw-r--r-- | test/kpod_kill.bats | 4 | ||||
-rw-r--r-- | test/kpod_load.bats | 24 | ||||
-rw-r--r-- | test/kpod_logs.bats | 4 | ||||
-rw-r--r-- | test/kpod_mount.bats | 4 | ||||
-rw-r--r-- | test/kpod_pause.bats | 4 | ||||
-rw-r--r-- | test/kpod_ps.bats | 4 | ||||
-rw-r--r-- | test/kpod_pull.bats | 2 | ||||
-rw-r--r-- | test/kpod_push.bats | 32 | ||||
-rw-r--r-- | test/kpod_rename.bats | 4 | ||||
-rw-r--r-- | test/kpod_rm.bats | 4 | ||||
-rw-r--r-- | test/kpod_run.bats | 42 | ||||
-rw-r--r-- | test/kpod_save.bats | 38 | ||||
-rw-r--r-- | test/kpod_stats.bats | 4 | ||||
-rw-r--r-- | test/kpod_stop.bats | 4 | ||||
-rw-r--r-- | test/kpod_wait.bats | 3 |
22 files changed, 163 insertions, 212 deletions
diff --git a/test/helpers.bash b/test/helpers.bash index 3ec247e60..3280e70fd 100644 --- a/test/helpers.bash +++ b/test/helpers.bash @@ -14,7 +14,7 @@ elif [[ ! -z "$TRAVIS" ]]; then elif [[ ! -z "$PAPR" ]]; then CRIO_ROOT="/var/tmp/checkout" else - CRIO_ROOT=$(cd "$INTEGRATION_ROOT/../.."; pwd -P)} + CRIO_ROOT=$(cd "$INTEGRATION_ROOT/.."; pwd -P) fi KPOD_BINARY=${KPOD_BINARY:-${CRIO_ROOT}/bin/kpod} @@ -64,7 +64,14 @@ if [[ ! -d "/test.dir" ]]; then fi TESTDIR=$(mktemp -p /test.dir -d) -#mount -t tmpfs tmpfs ${TESTDIR} + +declare -A -g IMAGES +IMAGES+=(["alpine"]=docker.io/library/alpine:latest ["busybox"]=docker.io/library/busybox:latest) + +BB_GLIBC="docker.io/library/busybox:glibc" +BB="docker.io/library/busybox:latest" +ALPINE="docker.io/library/alpine:latest" +FEDORA_MINIMAL="registry.fedoraproject.org/fedora-minimal:latest" # kpod pull needs a configuration file for shortname pulls export REGISTRIES_CONFIG_PATH="$INTEGRATION_ROOT/registries.conf" @@ -109,68 +116,18 @@ cp "$CONMON_BINARY" "$TESTDIR/conmon" PATH=$PATH:$TESTDIR -# Make sure we have a copy of the redis:alpine image. -if ! [ -d "$ARTIFACTS_PATH"/redis-image ]; then - mkdir -p "$ARTIFACTS_PATH"/redis-image - if ! "$COPYIMG_BINARY" --import-from=docker://redis:alpine --export-to=dir:"$ARTIFACTS_PATH"/redis-image --signature-policy="$INTEGRATION_ROOT"/policy.json ; then - echo "Error pulling docker://redis" - rm -fr "$ARTIFACTS_PATH"/redis-image - exit 1 - fi -fi - -# TODO: remove the code below for pulling redis:alpine using a canonical reference once -# https://github.com/kubernetes-incubator/cri-o/issues/531 is complete and we can -# pull the image using a tagged reference and then subsequently find the image without -# having to explicitly record the canonical reference as one of the image's names -if ! [ -d "$ARTIFACTS_PATH"/redis-image-digest ]; then - mkdir -p "$ARTIFACTS_PATH"/redis-image-digest - if ! "$COPYIMG_BINARY" --import-from=docker://redis@sha256:03789f402b2ecfb98184bf128d180f398f81c63364948ff1454583b02442f73b --export-to=dir:"$ARTIFACTS_PATH"/redis-image-digest --signature-policy="$INTEGRATION_ROOT"/policy.json ; then - echo "Error pulling docker://redis@sha256:03789f402b2ecfb98184bf128d180f398f81c63364948ff1454583b02442f73b" - rm -fr "$ARTIFACTS_PATH"/redis-image-digest - exit 1 - fi -fi - -# Make sure we have a copy of the runcom/stderr-test image. -if ! [ -d "$ARTIFACTS_PATH"/stderr-test ]; then - mkdir -p "$ARTIFACTS_PATH"/stderr-test - if ! "$COPYIMG_BINARY" --import-from=docker://runcom/stderr-test:latest --export-to=dir:"$ARTIFACTS_PATH"/stderr-test --signature-policy="$INTEGRATION_ROOT"/policy.json ; then - echo "Error pulling docker://stderr-test" - rm -fr "$ARTIFACTS_PATH"/stderr-test - exit 1 - fi -fi - -# Make sure we have a copy of the busybox:latest image. -if ! [ -d "$ARTIFACTS_PATH"/busybox-image ]; then - mkdir -p "$ARTIFACTS_PATH"/busybox-image - if ! "$COPYIMG_BINARY" --import-from=docker://busybox --export-to=dir:"$ARTIFACTS_PATH"/busybox-image --signature-policy="$INTEGRATION_ROOT"/policy.json ; then - echo "Error pulling docker://busybox" - rm -fr "$ARTIFACTS_PATH"/busybox-image - exit 1 +for key in ${!IMAGES[@]}; do + if ! [ -d "$ARTIFACTS_PATH"/${key} ]; then + mkdir -p "$ARTIFACTS_PATH"/${key} + if ! "$COPYIMG_BINARY" --import-from=docker://${IMAGES[${key}]} --export-to=dir:"$ARTIFACTS_PATH"/${key} --signature-policy="$INTEGRATION_ROOT"/policy.json ; then + echo "Error pulling docker://${IMAGES[${key}]}" + rm -fr "$ARTIFACTS_PATH"/${key} + exit 1 + fi fi -fi -# Make sure we have a copy of the mrunalp/oom:latest image. -if ! [ -d "$ARTIFACTS_PATH"/oom-image ]; then - mkdir -p "$ARTIFACTS_PATH"/oom-image - if ! "$COPYIMG_BINARY" --import-from=docker://mrunalp/oom --export-to=dir:"$ARTIFACTS_PATH"/oom-image --signature-policy="$INTEGRATION_ROOT"/policy.json ; then - echo "Error pulling docker://mrunalp/oom" - rm -fr "$ARTIFACTS_PATH"/oom-image - exit 1 - fi -fi +done -# Make sure we have a copy of the mrunalp/image-volume-test:latest image. -if ! [ -d "$ARTIFACTS_PATH"/image-volume-test-image ]; then - mkdir -p "$ARTIFACTS_PATH"/image-volume-test-image - if ! "$COPYIMG_BINARY" --import-from=docker://mrunalp/image-volume-test --export-to=dir:"$ARTIFACTS_PATH"/image-volume-test-image --signature-policy="$INTEGRATION_ROOT"/policy.json ; then - echo "Error pulling docker://mrunalp/image-volume-test-image" - rm -fr "$ARTIFACTS_PATH"/image-volume-test-image - exit 1 - fi -fi # Communicate with Docker on the host machine. # Should rarely use this. @@ -344,3 +301,9 @@ function cleanup_network_conf() { function temp_sandbox_conf() { sed -e s/\"namespace\":.*/\"namespace\":\ \"$1\",/g "$TESTDATA"/sandbox_config.json > $TESTDIR/sandbox_config_$1.json } + +function copy_images() { + for key in ${!IMAGES[@]}; do + "$COPYIMG_BINARY" --root "$TESTDIR/crio" $STORAGE_OPTIONS --runroot "$TESTDIR/crio-run" --image-name=${IMAGES[${key}]} --import-from=dir:"$ARTIFACTS_PATH"/${key} --add-name=${IMAGES[${key}]} + done +} diff --git a/test/kpod_create.bats b/test/kpod_create.bats index 225ecca98..3d3efcff3 100644 --- a/test/kpod_create.bats +++ b/test/kpod_create.bats @@ -2,21 +2,22 @@ load helpers +function setup() { + copy_images +} + function teardown() { cleanup_test } -ALPINE="docker.io/library/alpine:latest" - @test "create a container based on local image" { - ${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest - run ${KPOD_BINARY} ${KPOD_OPTIONS} create docker.io/library/busybox:latest ls + run ${KPOD_BINARY} ${KPOD_OPTIONS} create $BB ls echo "$output" [ "$status" -eq 0 ] } @test "create a container based on a remote image" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} create ${ALPINE} ls + run ${KPOD_BINARY} ${KPOD_OPTIONS} create ${BB_GLIBC} ls echo "$output" [ "$status" -eq 0 ] } diff --git a/test/kpod_diff.bats b/test/kpod_diff.bats index 826fc7389..d73f462f6 100644 --- a/test/kpod_diff.bats +++ b/test/kpod_diff.bats @@ -2,20 +2,16 @@ load helpers -IMAGE="alpine:latest" +function setup() { + copy_images +} function teardown() { cleanup_test } @test "test diff of image and parent" { - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS diff $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + run ${KPOD_BINARY} $KPOD_OPTIONS diff $BB echo "$output" [ "$status" -eq 0 ] } @@ -27,14 +23,8 @@ function teardown() { } @test "test diff with json output" { - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - # run bash -c bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} diff --format json $IMAGE | python -m json.tool" - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS diff --format json $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + # run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} diff --format json $IMAGE | python -m json.tool" + run ${KPOD_BINARY} $KPOD_OPTIONS diff --format json $BB echo "$output" [ "$status" -eq 0 ] } diff --git a/test/kpod_export.bats b/test/kpod_export.bats index ea9697b9d..aa577168d 100644 --- a/test/kpod_export.bats +++ b/test/kpod_export.bats @@ -3,11 +3,14 @@ load helpers IMAGE="redis:alpine" - function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "kpod export output flag" { skip "Test needs to be converted to kpod run bash -c" start_crio diff --git a/test/kpod_history.bats b/test/kpod_history.bats index a49ea7685..9ce2be079 100644 --- a/test/kpod_history.bats +++ b/test/kpod_history.bats @@ -2,71 +2,46 @@ load helpers -IMAGE="alpine:latest" - function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "kpod history default" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} history $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} history $ALPINE echo "$output" [ "$status" -eq 0 ] } @test "kpod history with Go template format" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} history --format "{{.ID}} {{.Created}}" $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} history --format "{{.ID}} {{.Created}}" $ALPINE echo "$output" [ "$status" -eq 0 ] } @test "kpod history human flag" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} history --human=false $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} history --human=false $ALPINE echo "$output" [ "$status" -eq 0 ] } @test "kpod history quiet flag" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} history -q $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} history -q $ALPINE echo "$output" [ "$status" -eq 0 ] } @test "kpod history no-trunc flag" { - ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} history --no-trunc $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} history --no-trunc $ALPINE echo "$output" [ "$status" -eq 0 ] - run ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE } @test "kpod history json flag" { - ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} history --format json $IMAGE | python -m json.tool" + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} history --format json $ALPINE | python -m json.tool" echo "$output" [ "$status" -eq 0 ] - bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE } diff --git a/test/kpod_import.bats b/test/kpod_import.bats index ef2ef342d..204cf2963 100644 --- a/test/kpod_import.bats +++ b/test/kpod_import.bats @@ -8,6 +8,10 @@ function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "kpod import with source and reference" { skip "Test needs to be converted to kpod run bash -c" start_crio diff --git a/test/kpod_inspect.bats b/test/kpod_inspect.bats index 3c627ceac..ca7e16aad 100644 --- a/test/kpod_inspect.bats +++ b/test/kpod_inspect.bats @@ -2,23 +2,20 @@ load helpers -IMAGE="docker.io/library/busybox:latest" - function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "kpod inspect image" { - ${KPOD_BINARY} $KPOD_OPTIONS pull ${IMAGE} - run bash -c "${KPOD_BINARY} $KPOD_OPTIONS inspect ${IMAGE} | python -m json.tool" - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi ${IMAGE} + run bash -c "${KPOD_BINARY} $KPOD_OPTIONS inspect ${ALPINE} | python -m json.tool" echo "$output" [ "$status" -eq 0 ] } - @test "kpod inspect non-existent container" { run ${KPOD_BINARY} $KPOD_OPTIONS inspect 14rcole/non-existent echo "$output" @@ -26,27 +23,20 @@ function teardown() { } @test "kpod inspect with format" { - ${KPOD_BINARY} $KPOD_OPTIONS pull ${IMAGE} - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS inspect --format {{.ID}} ${IMAGE} + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS inspect --format {{.ID}} ${ALPINE} echo "$output" [ "$status" -eq 0 ] inspectOutput="$output" - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS images --no-trunc --quiet ${IMAGE} + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS images --no-trunc --quiet ${ALPINE} echo "$output" [ "$status" -eq 0 ] [ "$output" = "$inspectOutput" ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi ${IMAGE} echo "$output" [ "$status" -eq 0 ] } @test "kpod inspect specified type" { - ${KPOD_BINARY} $KPOD_OPTIONS pull ${IMAGE} - run bash -c "${KPOD_BINARY} $KPOD_OPTIONS inspect --type image ${IMAGE} | python -m json.tool" - echo "$output" - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi ${IMAGE} + run bash -c "${KPOD_BINARY} $KPOD_OPTIONS inspect --type image ${ALPINE} | python -m json.tool" echo "$output" [ "$status" -eq 0 ] } diff --git a/test/kpod_kill.bats b/test/kpod_kill.bats index 38d541afb..b267fc9df 100644 --- a/test/kpod_kill.bats +++ b/test/kpod_kill.bats @@ -6,6 +6,10 @@ function teardown() { cleanup_test } +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") diff --git a/test/kpod_load.bats b/test/kpod_load.bats index ab002f04a..7404cb76c 100644 --- a/test/kpod_load.bats +++ b/test/kpod_load.bats @@ -2,16 +2,14 @@ load helpers -IMAGE="alpine:latest" +function setup() { + copy_images +} function teardown() { cleanup_test } - @test "kpod load input flag" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $IMAGE echo "$output" [ "$status" -eq 0 ] @@ -22,14 +20,9 @@ function teardown() { echo "$output" [ "$status" -eq 0 ] rm -f alpine.tar - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE - echo "$output" - [ "$status" -eq 0 ] } @test "kpod load oci-archive image" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $IMAGE [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE @@ -38,13 +31,9 @@ function teardown() { echo "$output" [ "$status" -eq 0 ] rm -f alpine.tar - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE - [ "$status" -eq 0 ] } @test "kpod load oci-archive image with signature-policy" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $IMAGE [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE @@ -55,14 +44,9 @@ function teardown() { [ "$status" -eq 0 ] rm -f /tmp/policy.json rm -f alpine.tar - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $IMAGE - [ "$status" -eq 0 ] } @test "kpod load using quiet flag" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $IMAGE echo "$output" [ "$status" -eq 0 ] @@ -73,8 +57,6 @@ function teardown() { echo "$output" [ "$status" -eq 0 ] rm -f alpine.tar - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE - [ "$status" -eq 0 ] } @test "kpod load non-existent file" { diff --git a/test/kpod_logs.bats b/test/kpod_logs.bats index bf15db380..54b1d15c1 100644 --- a/test/kpod_logs.bats +++ b/test/kpod_logs.bats @@ -8,6 +8,10 @@ function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "display logs for container" { skip "Test needs to be converted to kpod run" start_crio diff --git a/test/kpod_mount.bats b/test/kpod_mount.bats index 62b5f5ecc..48f581505 100644 --- a/test/kpod_mount.bats +++ b/test/kpod_mount.bats @@ -8,6 +8,10 @@ function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "mount" { skip "Test needs to be converted to kpod run" start_crio diff --git a/test/kpod_pause.bats b/test/kpod_pause.bats index f71080334..0cd22f469 100644 --- a/test/kpod_pause.bats +++ b/test/kpod_pause.bats @@ -4,6 +4,10 @@ load helpers IMAGE="redis:alpine" +function setup() { + copy_images +} + function teardown() { cleanup_test } diff --git a/test/kpod_ps.bats b/test/kpod_ps.bats index 8f1aba816..c62dfe194 100644 --- a/test/kpod_ps.bats +++ b/test/kpod_ps.bats @@ -3,6 +3,10 @@ load helpers IMAGE="redis:alpine" +function setup() { + copy_images +} + @test "kpod ps with no containers" { run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} ps diff --git a/test/kpod_pull.bats b/test/kpod_pull.bats index 4cad2390f..6996f59cf 100644 --- a/test/kpod_pull.bats +++ b/test/kpod_pull.bats @@ -2,8 +2,6 @@ load helpers -IMAGE="alpine:latest" - function teardown() { cleanup_test } diff --git a/test/kpod_push.bats b/test/kpod_push.bats index f40fc7b30..15672ba82 100644 --- a/test/kpod_push.bats +++ b/test/kpod_push.bats @@ -2,22 +2,22 @@ load helpers -IMAGE="alpine:latest" - function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "kpod push to containers/storage" { skip "Issues with bash, skipping" - echo # Pull down the image: it gets the name $IMAGE. - ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug pull $IMAGE echo # Push the image right back into storage: it now has two names. - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug push "$IMAGE" containers-storage:busybox:test + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug push $ALPINE containers-storage:busybox:test echo "$output" [ "$status" -eq 0 ] echo # Try to remove it using the first name. Should be refused. - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug rmi $IMAGE + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS --log-level=debug rmi $ALPINE echo "$output" [ "$status" -ne 0 ] echo # Try to remove it using the second name. Should also be refused. @@ -31,48 +31,44 @@ function teardown() { } @test "kpod push to directory" { - ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE" mkdir /tmp/busybox - run ${KPOD_BINARY} $KPOD_OPTIONS push "$IMAGE" dir:/tmp/busybox + run ${KPOD_BINARY} $KPOD_OPTIONS push $ALPINE dir:/tmp/busybox echo "$output" [ "$status" -eq 0 ] rm -rf /tmp/busybox - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE" + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE echo "$output" [ "$status" -eq 0 ] } @test "kpod push to docker archive" { - ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE" - run ${KPOD_BINARY} $KPOD_OPTIONS push "$IMAGE" docker-archive:/tmp/busybox-archive:1.26 + run ${KPOD_BINARY} $KPOD_OPTIONS push $ALPINE docker-archive:/tmp/busybox-archive:1.26 echo "$output" echo "--->" [ "$status" -eq 0 ] rm /tmp/busybox-archive - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE" + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE echo "$output" [ "$status" -eq 0 ] } @test "kpod push to oci-archive without compression" { - ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE" - run ${KPOD_BINARY} $KPOD_OPTIONS push "$IMAGE" oci-archive:/tmp/oci-busybox.tar:alpine + run ${KPOD_BINARY} $KPOD_OPTIONS push $ALPINE oci-archive:/tmp/oci-busybox.tar:alpine echo "$output" [ "$status" -eq 0 ] rm -f /tmp/oci-busybox.tar - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE" + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE echo "$output" [ "$status" -eq 0 ] } @test "kpod push without signatures" { - ${KPOD_BINARY} $KPOD_OPTIONS pull "$IMAGE" mkdir /tmp/busybox - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS push --remove-signatures "$IMAGE" dir:/tmp/busybox + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS push --remove-signatures $ALPINE dir:/tmp/busybox echo "$output" [ "$status" -eq 0 ] rm -rf /tmp/busybox - run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi "$IMAGE" + run bash -c ${KPOD_BINARY} $KPOD_OPTIONS rmi $ALPINE echo "$output" [ "$status" -eq 0 ] } diff --git a/test/kpod_rename.bats b/test/kpod_rename.bats index a7954dbfa..eb4e704fd 100644 --- a/test/kpod_rename.bats +++ b/test/kpod_rename.bats @@ -8,6 +8,10 @@ function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "kpod rename successful" { skip "Test needs to be converted to kpod run" start_crio diff --git a/test/kpod_rm.bats b/test/kpod_rm.bats index 54448d924..6794f3eb4 100644 --- a/test/kpod_rm.bats +++ b/test/kpod_rm.bats @@ -8,6 +8,10 @@ function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "remove a stopped container" { skip "Test needs to be converted to kpod run" start_crio diff --git a/test/kpod_run.bats b/test/kpod_run.bats index 56995316b..bcc1d816d 100644 --- a/test/kpod_run.bats +++ b/test/kpod_run.bats @@ -2,19 +2,18 @@ load helpers -ALPINE="docker.io/library/alpine:latest" +function setup() { + copy_images +} @test "run a container based on local image" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} pull docker.io/library/busybox:latest - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} run docker.io/library/busybox:latest ls + run ${KPOD_BINARY} ${KPOD_OPTIONS} run $BB ls echo "$output" [ "$status" -eq 0 ] } @test "run a container based on a remote image" { - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} run ${ALPINE} ls + run ${KPOD_BINARY} ${KPOD_OPTIONS} run ${BB_GLIBC} ls echo "$output" [ "$status" -eq 0 ] } @@ -60,3 +59,34 @@ ALPINE="docker.io/library/alpine:latest" [ "$status" -eq 0 ] } + +@test "run environment test" { + + ${KPOD_BINARY} ${KPOD_OPTIONS} pull ${ALPINE} + + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -env FOO=BAR ${ALPINE} printenv FOO | tr -d '\r'" + echo "$output" + [ "$status" -eq 0 ] + [ $output = "BAR" ] + + run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run -env PATH="/bin" ${ALPINE} printenv PATH | tr -d '\r'" + echo "$output" + [ "$status" -eq 0 ] + [ $output = "/bin" ] + + run bash -c "export FOO=BAR; ${KPOD_BINARY} ${KPOD_OPTIONS} run -env FOO ${ALPINE} printenv FOO | tr -d '\r'" + echo "$output" + [ "$status" -eq 0 ] + [ "$output" = "BAR" ] + + run ${KPOD_BINARY} ${KPOD_OPTIONS} run -env FOO ${ALPINE} printenv + echo "$output" + [ "$status" -ne 0 ] + +# We don't currently set the hostname in containers, since we are not setting up +# networking. As soon as kpod run gets network support we need to uncomment this +# test. +# run bash -c "${KPOD_BINARY} ${KPOD_OPTIONS} run ${ALPINE} sh -c printenv | grep HOSTNAME" +# echo "$output" +# [ "$status" -eq 0 ] +} diff --git a/test/kpod_save.bats b/test/kpod_save.bats index 63ef127b1..ecbcd1faf 100644 --- a/test/kpod_save.bats +++ b/test/kpod_save.bats @@ -2,64 +2,44 @@ load helpers -IMAGE="alpine:latest" - function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "kpod save output flag" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $ALPINE echo "$output" [ "$status" -eq 0 ] rm -f alpine.tar } @test "kpod save oci flag" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar --format oci-archive $ALPINE echo "$output" [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE - [ "$status" -eq 0 ] rm -f alpine.tar } @test "kpod save using stdout" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save > alpine.tar $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} save > alpine.tar $ALPINE echo "$output" [ "$status" -eq 0 ] rm -f alpine.tar } @test "kpod save quiet flag" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} pull $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} save -q -o alpine.tar $IMAGE - echo "$output" - [ "$status" -eq 0 ] - run bash -c ${KPOD_BINARY} ${KPOD_OPTIONS} rmi $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} save -q -o alpine.tar $ALPINE echo "$output" [ "$status" -eq 0 ] rm -f alpine.tar } @test "kpod save non-existent image" { - run ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar $IMAGE + run ${KPOD_BINARY} ${KPOD_OPTIONS} save -o alpine.tar FOOBAR echo "$output" [ "$status" -ne 0 ] } diff --git a/test/kpod_stats.bats b/test/kpod_stats.bats index 930d2f006..b98c83c90 100644 --- a/test/kpod_stats.bats +++ b/test/kpod_stats.bats @@ -6,6 +6,10 @@ function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "stats single output" { skip "Test needs to be converted to kpod run" start_crio diff --git a/test/kpod_stop.bats b/test/kpod_stop.bats index 1a79371af..7d9cf3e63 100644 --- a/test/kpod_stop.bats +++ b/test/kpod_stop.bats @@ -6,6 +6,10 @@ function teardown() { cleanup_test } +function setup() { + copy_images +} + @test "stop a bogus container" { run ${KPOD_BINARY} ${KPOD_OPTIONS} stop foobar echo "$output" diff --git a/test/kpod_wait.bats b/test/kpod_wait.bats index bb4b30a0b..beb2c246d 100644 --- a/test/kpod_wait.bats +++ b/test/kpod_wait.bats @@ -3,6 +3,9 @@ load helpers IMAGE="redis:alpine" +function setup() { + copy_images +} # Returns the POD ID function pod_run_from_template(){ |