#!/usr/bin/env bats load helpers function teardown() { cleanup_test } @test "image volume ignore" { IMAGE_VOLUMES=ignore start_crio run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" image_volume_config=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["image"]["image"] = "mrunalp/image-volume-test"; obj["command"] = ["/bin/sleep", "600"]; json.dump(obj, sys.stdout)') echo "$image_volume_config" > "$TESTDIR"/container_image_volume.json run crictl create "$pod_id" "$TESTDIR"/container_image_volume.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] run crictl exec --sync "$ctr_id" ls /imagevolume echo "$output" [ "$status" -eq 0 ] [[ "$output" =~ "Exit code: 1" ]] [[ "$output" =~ "ls: /imagevolume: No such file or directory" ]] run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs cleanup_pods stop_crio } @test "image volume bind" { IMAGE_VOLUMES=bind start_crio run crictl runs "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] pod_id="$output" image_volume_config=$(cat "$TESTDATA"/container_config.json | python -c 'import json,sys;obj=json.load(sys.stdin);obj["image"]["image"] = "mrunalp/image-volume-test"; obj["command"] = ["/bin/sleep", "600"]; json.dump(obj, sys.stdout)') echo "$image_volume_config" > "$TESTDIR"/container_image_volume.json run crictl create "$pod_id" "$TESTDIR"/container_image_volume.json "$TESTDATA"/sandbox_config.json echo "$output" [ "$status" -eq 0 ] ctr_id="$output" run crictl start "$ctr_id" echo "$output" [ "$status" -eq 0 ] run crictl exec --sync "$ctr_id" touch /imagevolume/test_file echo "$output" [ "$status" -eq 0 ] [ "$output" = "" ] run crictl stops "$pod_id" echo "$output" [ "$status" -eq 0 ] run crictl rms "$pod_id" echo "$output" [ "$status" -eq 0 ] cleanup_ctrs cleanup_pods stop_crio }