mirror of
https://github.com/token2/snapd.git
synced 2026-03-13 11:15:47 -07:00
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.
This commit is contained in:
committed by
Michael Vogt
parent
3fbc941e3f
commit
56d0ac59d0
36
tests/main/layout-remove/task.yaml
Normal file
36
tests/main/layout-remove/task.yaml
Normal file
@@ -0,0 +1,36 @@
|
||||
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
|
||||
3
tests/main/layout-remove/test-layout-v1/bin/test
Executable file
3
tests/main/layout-remove/test-layout-v1/bin/test
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
PS1='$ '
|
||||
exec /bin/sh "$@"
|
||||
19
tests/main/layout-remove/test-layout-v1/meta/snap.yaml
Normal file
19
tests/main/layout-remove/test-layout-v1/meta/snap.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
name: test-layout
|
||||
version: 1.0
|
||||
summary: Test layouts
|
||||
description: 'Test layout changes'
|
||||
base: core22
|
||||
confinement: strict
|
||||
grade: devel
|
||||
|
||||
layout:
|
||||
/var/lib/test_data:
|
||||
bind: $SNAP_DATA/test_data
|
||||
/var/lib/test_common:
|
||||
bind: $SNAP_COMMON/test_common
|
||||
/var/test_tmpfs:
|
||||
type: tmpfs
|
||||
|
||||
apps:
|
||||
test:
|
||||
command: bin/test
|
||||
3
tests/main/layout-remove/test-layout-v2/bin/test
Executable file
3
tests/main/layout-remove/test-layout-v2/bin/test
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
PS1='$ '
|
||||
exec /bin/sh "$@"
|
||||
15
tests/main/layout-remove/test-layout-v2/meta/snap.yaml
Normal file
15
tests/main/layout-remove/test-layout-v2/meta/snap.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
name: test-layout
|
||||
version: 1.1
|
||||
summary: Test layouts
|
||||
description: 'Test layout changes'
|
||||
base: core22
|
||||
confinement: strict
|
||||
grade: devel
|
||||
|
||||
layout:
|
||||
/var/test_tmpfs:
|
||||
type: tmpfs
|
||||
|
||||
apps:
|
||||
test:
|
||||
command: bin/test
|
||||
Reference in New Issue
Block a user