automation-tests/storage/tests/create-image.bats

55 lines
1.6 KiB
Bash

#!/usr/bin/env bats
load helpers
@test "create-image" {
# Create an image using no layer.
run storage --debug=false create-image ""
[ "$status" -eq 0 ]
[ "$output" != "" ]
zerothimage=${output%% *}
zerothwriter=$(cat ${TESTDIR}/root/${STORAGE_DRIVER}-images/images.lock)
[ "$zerothwriter" != "" ]
# Create a layer.
run storage --debug=false create-layer
[ "$status" -eq 0 ]
[ "$output" != "" ]
layer=$output
# Create an image using that layer.
run storage --debug=false create-image $layer
[ "$status" -eq 0 ]
[ "$output" != "" ]
firstimage=${output%% *}
firstwriter=$(cat ${TESTDIR}/root/${STORAGE_DRIVER}-images/images.lock)
[ "$firstwriter" != "" ]
[ "$zerothwriter" != "$firstwriter" ]
# Check that the image can be accessed.
storage exists -i $firstimage
# Create another image using that layer.
run storage --debug=false create-image $layer
[ "$status" -eq 0 ]
[ "$output" != "" ]
secondimage=${output%% *}
# Check that *that* image can be accessed.
storage exists -i $secondimage
# Check that "images" lists the both of the images.
run storage --debug=false images
[ "$status" -eq 0 ]
echo :"$output":
[ "${#lines[*]}" -eq 3 ]
[ "${lines[0]}" != "${lines[1]}" ]
[ "${lines[1]}" != "${lines[2]}" ]
[ "${lines[0]}" != "${lines[2]}" ]
[ "${lines[0]}" = "$zerothimage" ] || [ "${lines[0]}" = "$firstimage" ] || [ "${lines[0]}" = "$secondimage" ]
[ "${lines[1]}" = "$zerothimage" ] || [ "${lines[1]}" = "$firstimage" ] || [ "${lines[1]}" = "$secondimage" ]
[ "${lines[2]}" = "$zerothimage" ] || [ "${lines[2]}" = "$firstimage" ] || [ "${lines[2]}" = "$secondimage" ]
}