55 lines
1.6 KiB
Bash
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" ]
|
|
}
|