diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index dc0e054158ba..1b97ca80a798 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1265,7 +1265,7 @@ in scion-freestanding-deployment = handleTest ./scion/freestanding-deployment { }; scrutiny = runTest ./scrutiny.nix; scx = runTest ./scx/default.nix; - sddm = handleTest ./sddm.nix { }; + sddm = import ./sddm.nix { inherit runTest; }; sdl3 = runTest ./sdl3.nix; seafile = runTest ./seafile.nix; searx = runTest ./searx.nix; diff --git a/nixos/tests/sddm.nix b/nixos/tests/sddm.nix index aaf271dab5b8..ca3525712d33 100644 --- a/nixos/tests/sddm.nix +++ b/nixos/tests/sddm.nix @@ -1,77 +1,62 @@ +{ runTest }: { - system ? builtins.currentSystem, - config ? { }, - pkgs ? import ../.. { inherit system config; }, -}: + default = runTest { + name = "sddm"; -with import ../lib/testing-python.nix { inherit system pkgs; }; - -let - inherit (pkgs) lib; - - tests = { - default = { - name = "sddm"; - - nodes.machine = - { ... }: - { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.displayManager.sddm.enable = true; - services.displayManager.defaultSession = "none+icewm"; - services.xserver.windowManager.icewm.enable = true; - }; - - enableOCR = true; - - testScript = - { nodes, ... }: - let - user = nodes.machine.users.users.alice; - in - '' - start_all() - machine.wait_for_text("(?i)select your user") - machine.screenshot("sddm") - machine.send_chars("${user.password}\n") - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") - machine.wait_for_window("^IceWM ") - ''; + nodes.machine = { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.displayManager.sddm.enable = true; + services.displayManager.defaultSession = "none+icewm"; + services.xserver.windowManager.icewm.enable = true; }; - autoLogin = { + enableOCR = true; + + testScript = + { nodes, ... }: + let + user = nodes.machine.users.users.alice; + in + '' + start_all() + machine.wait_for_text("(?i)select your user") + machine.screenshot("sddm") + machine.send_chars("${user.password}\n") + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") + machine.wait_for_window("^IceWM ") + ''; + }; + + autoLogin = runTest ( + { lib, ... }: + { name = "sddm-autologin"; - meta = with pkgs.lib.maintainers; { + meta = with lib.maintainers; { maintainers = [ ttuegel ]; }; - nodes.machine = - { ... }: - { - imports = [ ./common/user-account.nix ]; - services.xserver.enable = true; - services.displayManager = { - sddm.enable = true; - autoLogin = { - enable = true; - user = "alice"; - }; + nodes.machine = { + imports = [ ./common/user-account.nix ]; + services.xserver.enable = true; + services.displayManager = { + sddm.enable = true; + autoLogin = { + enable = true; + user = "alice"; }; - services.displayManager.defaultSession = "none+icewm"; - services.xserver.windowManager.icewm.enable = true; }; + services.displayManager.defaultSession = "none+icewm"; + services.xserver.windowManager.icewm.enable = true; + }; - testScript = - { nodes, ... }: - '' - start_all() - machine.wait_for_file("/tmp/xauth_*") - machine.succeed("xauth merge /tmp/xauth_*") - machine.wait_for_window("^IceWM ") - ''; - }; - }; -in -lib.mapAttrs (lib.const makeTest) tests + testScript = '' + start_all() + machine.wait_for_file("/tmp/xauth_*") + machine.succeed("xauth merge /tmp/xauth_*") + machine.wait_for_window("^IceWM ") + ''; + } + ); +}