From 447c8559c95e8108b448a3990ef5c6278e0e6c28 Mon Sep 17 00:00:00 2001 From: Sizhe Zhao Date: Wed, 9 Jul 2025 12:30:20 +0800 Subject: [PATCH] nixosTests.sddm: handleTest -> runTest --- nixos/tests/all-tests.nix | 2 +- nixos/tests/sddm.nix | 117 +++++++++++++++++--------------------- 2 files changed, 52 insertions(+), 67 deletions(-) diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4fd1c64693ac..4b579a4d08e8 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 ") + ''; + } + ); +}