at 16.09-beta 1.5 kB view raw
1import ./make-test.nix ({ pkgs, ...} : 2 3{ 4 name = "sddm"; 5 meta = with pkgs.stdenv.lib.maintainers; { 6 maintainers = [ ttuegel ]; 7 }; 8 9 machine = { lib, ... }: { 10 imports = [ ./common/user-account.nix ]; 11 virtualisation.memorySize = 1024; 12 services.xserver.enable = true; 13 services.xserver.displayManager.sddm = { 14 enable = true; 15 autoLogin = { 16 enable = true; 17 user = "alice"; 18 }; 19 }; 20 services.xserver.desktopManager.kde5.enable = true; 21 }; 22 23 enableOCR = true; 24 25 testScript = { nodes, ... }: 26 let xdo = "${pkgs.xdotool}/bin/xdotool"; in 27 '' 28 sub krunner { 29 my ($win,) = @_; 30 $machine->execute("${xdo} key Alt+F2 sleep 1 type $win"); 31 $machine->execute("${xdo} search --sync --onlyvisible --class krunner sleep 5 key Return"); 32 } 33 34 $machine->waitUntilSucceeds("pgrep plasmashell"); 35 $machine->succeed("xauth merge ~alice/.Xauthority"); 36 $machine->waitForWindow(qr/Desktop.*/); 37 38 # Check that logging in has given the user ownership of devices. 39 $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); 40 41 krunner("dolphin"); 42 $machine->waitForWindow(qr/.*Dolphin/); 43 44 krunner("konsole"); 45 $machine->waitForWindow(qr/.*Konsole/); 46 47 krunner("systemsettings5"); 48 $machine->waitForWindow(qr/.*Settings/); 49 $machine->sleep(20); 50 51 $machine->execute("${xdo} key Alt+F1 sleep 10"); 52 $machine->screenshot("screen"); 53 ''; 54})