File: layers.bats

package info (click to toggle)
golang-github-containers-storage 1.59.1%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,184 kB
  • sloc: sh: 630; ansic: 389; makefile: 143; awk: 12
file content (58 lines) | stat: -rw-r--r-- 1,469 bytes parent folder | download | duplicates (5)
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 ]
}