Skip to content

Commit

Permalink
tests: port user daemons spread tests to session-tool
Browse files Browse the repository at this point in the history
  • Loading branch information
jhenstridge committed May 4, 2020
1 parent d44a7cc commit e713262
Show file tree
Hide file tree
Showing 5 changed files with 24 additions and 70 deletions.
18 changes: 5 additions & 13 deletions tests/main/snap-user-service-restart-on-upgrade/task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,21 @@ prepare: |
touch agent-was-enabled
fi
snap set system experimental.user-daemons=true
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
start_user_session
as_user systemctl --user start sockets.target
session-tool --kill-leaked
session-tool -u test --prepare
session-tool -u test systemctl --user start sockets.target
restore: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool -u test --restore
snap unset system experimental.user-daemons
if [ -f agent-was-enabled ]; then
systemctl --user --global disable snapd.session-agent.socket
rm agent-was-enabled
fi
execute: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
# This isn't quote-safe, but is good enough for our tests.
function systemctl_user() {
as_user systemctl --user "$@"
session-tool -u test systemctl --user "$@"
}
echo "Install the a snap with user services while a user session is active"
Expand Down
18 changes: 5 additions & 13 deletions tests/main/snap-user-service-socket-activation/task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,10 @@ kill-timeout: 5m

prepare: |
snap set system experimental.user-daemons=true
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool --kill-leaked
restore: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool -u test --restore
snap unset system experimental.user-daemons
execute: |
Expand All @@ -31,13 +25,11 @@ execute: |
install_local test-snapd-user-service-sockets
echo "And the user mode systemd instance is started"
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
start_user_session
session-tool -u test --prepare
echo "And the user session has finished starting"
as_user systemctl --user start sockets.target
as_user systemctl --user start default.target
session-tool -u test systemctl --user start sockets.target
session-tool -u test systemctl --user start default.target
echo "It's sockets are created in the test user's directories and activate the service"
[ -S ~test/snap/test-snapd-user-service-sockets/common/common.sock ]
Expand Down
16 changes: 4 additions & 12 deletions tests/main/snap-user-service-start-on-install/task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,10 @@ prepare: |
touch agent-was-enabled
fi
snap set system experimental.user-daemons=true
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool --kill-leaked
restore: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool -u test --restore
snap unset system experimental.user-daemons
if [ -f agent-was-enabled ]; then
systemctl --user --global disable snapd.session-agent.socket
Expand All @@ -38,13 +32,11 @@ restore: |
execute: |
echo "Start the user session"
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
start_user_session
session-tool -u test --prepare
# This isn't quote-safe, but is good enough for our tests.
function systemctl_user() {
as_user systemctl --user "$@"
session-tool -u test systemctl --user "$@"
}
echo "Ensure that the user session has fully started"
Expand Down
18 changes: 5 additions & 13 deletions tests/main/snap-user-service-upgrade-failure/task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,29 +20,21 @@ prepare: |
touch agent-was-enabled
fi
snap set system experimental.user-daemons=true
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
start_user_session
as_user systemctl --user start sockets.target
session-tool --kill-leaked
session-tool -u test --prepare
session-tool -u test systemctl --user start sockets.target
restore: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool -u test --restore
snap unset system experimental.user-daemons
if [ -f agent-was-enabled ]; then
systemctl --user --global disable snapd.session-agent.socket
rm agent-was-enabled
fi
execute: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
# This isn't quote-safe, but is good enough for our tests.
function systemctl_user() {
as_user systemctl --user "$@"
session-tool -u test systemctl --user "$@"
}
echo "Install the a snap with user services while a user session is active"
Expand Down
24 changes: 5 additions & 19 deletions tests/main/snap-user-service/task.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,10 @@ kill-timeout: 5m

prepare: |
snap set system experimental.user-daemons=true
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool --kill-leaked
restore: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
stop_user_session
purge_user_session_data
session-tool -u test --restore
snap unset system experimental.user-daemons
execute: |
Expand All @@ -31,18 +25,10 @@ execute: |
install_local test-snapd-user-service
echo "And the user mode systemd instance is started"
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
start_user_session
session-tool -u test --prepare
echo "And the default.target unit has finished starting"
as_user systemctl --user start default.target
session-tool -u test systemctl --user start default.target
echo "We can see the service running"
as_user systemctl --user status snap.test-snapd-user-service.test-snapd-user-service|MATCH "Active: active"
debug: |
#shellcheck source=tests/lib/user.sh
. "$TESTSLIB/user.sh"
as_user systemctl --user status snapd.session-agent.service || true
systemctl --user status snapd.session-agent.service || true
session-tool -u test systemctl --user is-active snap.test-snapd-user-service.test-snapd-user-service

0 comments on commit e713262

Please sign in to comment.