1import ./make-test-python.nix (
2 { lib, ... }:
3 {
4 name = "systemd-user-linger";
5
6 nodes.machine =
7 { ... }:
8 {
9 users.users = {
10 alice = {
11 isNormalUser = true;
12 linger = true;
13 uid = 1000;
14 };
15
16 bob = {
17 isNormalUser = true;
18 linger = false;
19 uid = 10001;
20 };
21 };
22 };
23
24 testScript =
25 { ... }:
26 ''
27 machine.wait_for_file("/var/lib/systemd/linger/alice")
28 machine.succeed("systemctl status user-1000.slice")
29
30 machine.fail("test -e /var/lib/systemd/linger/bob")
31 machine.fail("systemctl status user-1001.slice")
32
33 with subtest("missing users have linger purged"):
34 machine.succeed("touch /var/lib/systemd/linger/missing")
35 machine.systemctl("restart linger-users")
36 machine.succeed("test ! -e /var/lib/systemd/linger/missing")
37 '';
38 }
39)