Files
snapd/tests/main/layout-remove/task.yaml
Alfonso Sánchez-Beato 5725cc7e36 tests: add test to check layouts are removed properly
As in some corner cases this was not the case and the applications
could not even start.
2023-01-13 09:39:23 +00:00

37 lines
1.4 KiB
YAML

summary: Ensure that removing a layout works as expected
details: |
This test installs a test snap that uses layout declarations and
then refreshes it with a new version that removes one of the
layouts.
# No core22 snap for i386
systems: [-ubuntu-*-32]
prepare: |
"$TESTSTOOLS"/snaps-state install-local test-snapd-layout
execute: |
snap pack test-layout-v1
snap pack test-layout-v2
snap install --dangerous test-layout_1.0_all.snap
# Check layouts. Note that the mount namespace is created in the first run.
test-layout.test -c "test -d /var/test_tmpfs"
test-layout.test -c "test -d /var/lib/test_common"
test-layout.test -c "test -d /var/lib/test_data"
# Layouts have been configured
MATCH test_tmpfs < /run/snapd/ns/snap.test-layout.fstab
MATCH test_common < /run/snapd/ns/snap.test-layout.fstab
MATCH test_data < /run/snapd/ns/snap.test-layout.fstab
# Refreshing will update the mount namespace
snap install --dangerous test-layout_1.1_all.snap
# Should run fine
test-layout.test -c "test -d /var/test_tmpfs"
not test-layout.test -c "test -d /var/lib/test_common"
not test-layout.test -c "test -d /var/lib/test_data"
# There is no trace of the removed layouts
MATCH test_tmpfs < /run/snapd/ns/snap.test-layout.fstab
not MATCH test_common < /run/snapd/ns/snap.test-layout.fstab
not MATCH test_data < /run/snapd/ns/snap.test-layout.fstab