vuls: init at 0.27.0
[NixPkgs.git] / nixos / tests / sddm.nix
blob3ca105cf9713d518d7096faa3373142c1603368a
1 { system ? builtins.currentSystem,
2   config ? {},
3   pkgs ? import ../.. { inherit system config; }
4 }:
6 with import ../lib/testing-python.nix { inherit system pkgs; };
8 let
9   inherit (pkgs) lib;
11   tests = {
12     default = {
13       name = "sddm";
15       nodes.machine = { ... }: {
16         imports = [ ./common/user-account.nix ];
17         services.xserver.enable = true;
18         services.displayManager.sddm.enable = true;
19         services.displayManager.defaultSession = "none+icewm";
20         services.xserver.windowManager.icewm.enable = true;
21       };
23       enableOCR = true;
25       testScript = { nodes, ... }: let
26         user = nodes.machine.users.users.alice;
27       in ''
28         start_all()
29         machine.wait_for_text("(?i)select your user")
30         machine.screenshot("sddm")
31         machine.send_chars("${user.password}\n")
32         machine.wait_for_file("/tmp/xauth_*")
33         machine.succeed("xauth merge /tmp/xauth_*")
34         machine.wait_for_window("^IceWM ")
35       '';
36     };
38     autoLogin = {
39       name = "sddm-autologin";
40       meta = with pkgs.lib.maintainers; {
41         maintainers = [ ttuegel ];
42       };
44       nodes.machine = { ... }: {
45         imports = [ ./common/user-account.nix ];
46         services.xserver.enable = true;
47         services.displayManager = {
48           sddm.enable = true;
49           autoLogin = {
50             enable = true;
51             user = "alice";
52           };
53         };
54         services.displayManager.defaultSession = "none+icewm";
55         services.xserver.windowManager.icewm.enable = true;
56       };
58       testScript = { nodes, ... }: ''
59         start_all()
60         machine.wait_for_file("/tmp/xauth_*")
61         machine.succeed("xauth merge /tmp/xauth_*")
62         machine.wait_for_window("^IceWM ")
63       '';
64     };
65   };
67   lib.mapAttrs (lib.const makeTest) tests