1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#!/usr/bin/env bats
# vim:set syn=bash:
load helpers
@test "allow storing images with more than 127 layers" {
LAYER=""
LIMIT=300
for i in $(seq 0 ${LIMIT}); do
echo "Layer: $i"
# Create a layer.
run storage --debug=false create-layer "$LAYER"
echo "$output"
[ "$status" -eq 0 ]
[ "$output" != "" ]
LAYER="$output"
run storage --debug=false mount "$LAYER"
echo "$output"
[ "$status" -eq 0 ]
[ "$output" != "" ]
ROOTFS="$output"
touch "${ROOTFS}"/$i
run storage --debug=false unmount "$LAYER"
echo "$output"
[ "$status" -eq 0 ]
done
# Create the image
run storage --debug=false create-image "$LAYER"
echo "$output"
[ "$status" -eq 0 ]
[ "$output" != "" ]
IMAGE="$output"
# Make sure the image has all of the content.
run storage --debug=false create-container "$IMAGE"
echo "$output"
[ "$status" -eq 0 ]
[ "$output" != "" ]
CONTAINER="$output"
run storage --debug=false mount "$CONTAINER"
echo "$output"
[ "$status" -eq 0 ]
[ "$output" != "" ]
ROOTFS="$output"
for i in $(seq 0 ${LIMIT}); do
if ! test -r "${ROOTFS}"/$i ; then
echo File from layer $i of ${LIMIT} was not visible after mounting
false
fi
done
run storage --debug=false unmount "$CONTAINER"
echo "$output"
[ "$status" -eq 0 ]
}
|