File: task.yaml

package info (click to toggle)
snapd 2.71-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 79,536 kB
  • sloc: ansic: 16,114; sh: 16,105; python: 9,941; makefile: 1,890; exp: 190; awk: 40; xml: 22
file content (90 lines) | stat: -rw-r--r-- 2,728 bytes parent folder | download | duplicates (2)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
summary: Check that revert of a snap in devmode restores devmode

details: |
    Check that reverting a refresh preserves the mode it was refreshed with
    (i.e., reverting a snap refreshed with --devmode results in it being run
    in devmode after being reverted).

# slow in autopkgtest (>1m)
backends: [-autopkgtest]

# ubuntu-14.04: systemd-run not supported
systems: [-ubuntu-14.04*]

environment:
    STORE_TYPE/fake: fake
    STORE_TYPE/remote: ${REMOTE_STORE}
    BLOB_DIR: $(pwd)/fake-store-blobdir

prepare: |
    if [ "$STORE_TYPE" = "fake" ]; then
        if os.query is-core; then
            exit
        fi
        if [ "$TRUST_TEST_KEYS" = "false" ]; then
            echo "This test needs test keys to be trusted"
            exit
        fi
    fi

    echo "Given a snap is installed"
    snap install --devmode test-snapd-tools

    if [ "$STORE_TYPE" = "fake" ]; then
        "$TESTSTOOLS"/store-state setup-fake-store "$BLOB_DIR"

        echo "And a new version of that snap put in the controlled store"
        "$TESTSTOOLS"/store-state init-fake-refreshes "$BLOB_DIR" test-snapd-tools
    fi

restore: |
    if [ "$STORE_TYPE" = "fake" ]; then
        if os.query is-core; then
            exit
        fi
        if [ "$TRUST_TEST_KEYS" = "false" ]; then
            echo "This test needs test keys to be trusted"
            exit
        fi
        "$TESTSTOOLS"/store-state teardown-fake-store "$BLOB_DIR"
    fi

execute: |
    if [ "$STORE_TYPE" = "fake" ]; then
        if os.query is-core; then
            exit
        fi
        if [ "$TRUST_TEST_KEYS" = "false" ]; then
            echo "This test needs test keys to be trusted"
            exit
        fi
    fi

    echo "When a refresh is made"
    snap refresh --devmode --edge test-snapd-tools

    echo "Then the new version is installed"
    snap list | MATCH 'test-snapd-tools +[0-9]+\.[0-9]+\+fake1'
    SNAP_MOUNT_DIR="$(os.paths snap-mount-dir)"
    LATEST=$(readlink "$SNAP_MOUNT_DIR"/test-snapd-tools/current)

    echo "When a revert is made without --devmode flag"
    snap revert test-snapd-tools

    echo "Then the old version is active"
    snap list | MATCH 'test-snapd-tools +[0-9]+\.[0-9]+ '

    echo "And the snap runs in devmode"
    snap list|MATCH 'test-snapd-tools .* devmode'

    echo "When the latest revision is installed again"
    snap remove --revision="$LATEST" test-snapd-tools
    snap refresh --edge test-snapd-tools

    if [ "$(snap debug confinement)" = strict ] ; then
        echo "And revert is made with --jailmode flag"
        snap revert --jailmode test-snapd-tools

        echo "Then snap now runs confined (in jailmode, bah)"
        snap list|MATCH 'test-snapd-tools .* jailmode'
    fi