at 18.09-beta 1.9 kB view raw
1{ system ? builtins.currentSystem }: 2 3with import ../lib/testing.nix { inherit system; }; 4 5let 6 inherit (pkgs) lib; 7 8 tests = { 9 default = { 10 name = "sddm"; 11 12 machine = { ... }: { 13 imports = [ ./common/user-account.nix ]; 14 services.xserver.enable = true; 15 services.xserver.displayManager.sddm.enable = true; 16 services.xserver.windowManager.default = "icewm"; 17 services.xserver.windowManager.icewm.enable = true; 18 services.xserver.desktopManager.default = "none"; 19 }; 20 21 enableOCR = true; 22 23 testScript = { nodes, ... }: let 24 user = nodes.machine.config.users.users.alice; 25 in '' 26 startAll; 27 $machine->waitForText(qr/select your user/i); 28 $machine->screenshot("sddm"); 29 $machine->sendChars("${user.password}\n"); 30 $machine->waitForFile("/home/alice/.Xauthority"); 31 $machine->succeed("xauth merge ~alice/.Xauthority"); 32 $machine->waitForWindow("^IceWM "); 33 ''; 34 }; 35 36 autoLogin = { 37 name = "sddm-autologin"; 38 meta = with pkgs.stdenv.lib.maintainers; { 39 maintainers = [ ttuegel ]; 40 }; 41 42 machine = { ... }: { 43 imports = [ ./common/user-account.nix ]; 44 services.xserver.enable = true; 45 services.xserver.displayManager.sddm = { 46 enable = true; 47 autoLogin = { 48 enable = true; 49 user = "alice"; 50 }; 51 }; 52 services.xserver.windowManager.default = "icewm"; 53 services.xserver.windowManager.icewm.enable = true; 54 services.xserver.desktopManager.default = "none"; 55 }; 56 57 testScript = { ... }: '' 58 startAll; 59 $machine->waitForFile("/home/alice/.Xauthority"); 60 $machine->succeed("xauth merge ~alice/.Xauthority"); 61 $machine->waitForWindow("^IceWM "); 62 ''; 63 }; 64 }; 65in 66 lib.mapAttrs (lib.const makeTest) tests