mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-09 16:18:34 +01:00
Clearly, the sleep is not sleeping enough, so actually wait for the cookie to be written (and hope that it doesn't get split into multiple writes...)
65 lines
1.7 KiB
Nix
65 lines
1.7 KiB
Nix
{ runTest }:
|
|
{
|
|
default = runTest {
|
|
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.wait_until_succeeds("test -s /tmp/xauth_*")
|
|
machine.succeed("xauth merge /tmp/xauth_*")
|
|
machine.wait_for_window("^IceWM ")
|
|
'';
|
|
};
|
|
|
|
autoLogin = runTest (
|
|
{ lib, ... }:
|
|
{
|
|
name = "sddm-autologin";
|
|
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";
|
|
};
|
|
};
|
|
services.displayManager.defaultSession = "none+icewm";
|
|
services.xserver.windowManager.icewm.enable = true;
|
|
};
|
|
|
|
testScript = ''
|
|
start_all()
|
|
machine.wait_for_file("/tmp/xauth_*")
|
|
machine.wait_until_succeeds("test -s /tmp/xauth_*")
|
|
machine.succeed("xauth merge /tmp/xauth_*")
|
|
machine.wait_for_window("^IceWM ")
|
|
'';
|
|
}
|
|
);
|
|
}
|