From 20826c2a5df80c3f90c8a6adc9b813fb4c32376e Mon Sep 17 00:00:00 2001 From: Joel Moberg Date: Wed, 1 Jun 2016 17:05:46 +0200 Subject: nixos kde5: improve test IceWM is not part of KDE 5 and is now no longer part of the test. KDE 5 applications: Dolphin, System Monitor, and System Settings are started in this test. --- nixos/tests/sddm-kde5.nix | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) (limited to 'nixos/tests/sddm-kde5.nix') diff --git a/nixos/tests/sddm-kde5.nix b/nixos/tests/sddm-kde5.nix index f97a6d12b63..0247d267aaa 100644 --- a/nixos/tests/sddm-kde5.nix +++ b/nixos/tests/sddm-kde5.nix @@ -1,4 +1,6 @@ -import ./make-test.nix ({ pkgs, ...} : { +import ./make-test.nix ({ pkgs, ...} : + +{ name = "sddm"; meta = with pkgs.stdenv.lib.maintainers; { maintainers = [ ttuegel ]; @@ -6,6 +8,7 @@ import ./make-test.nix ({ pkgs, ...} : { machine = { lib, ... }: { imports = [ ./common/user-account.nix ]; + virtualisation.memorySize = 1024; services.xserver.enable = true; services.xserver.displayManager.sddm = { enable = true; @@ -14,18 +17,38 @@ import ./make-test.nix ({ pkgs, ...} : { user = "alice"; }; }; - services.xserver.windowManager.default = "icewm"; - services.xserver.windowManager.icewm.enable = true; - services.xserver.desktopManager.default = "none"; services.xserver.desktopManager.kde5.enable = true; }; enableOCR = true; - testScript = { nodes, ... }: '' - startAll; - $machine->waitForFile("/home/alice/.Xauthority"); - $machine->succeed("xauth merge ~alice/.Xauthority"); - $machine->waitForWindow("^IceWM "); + testScript = { nodes, ... }: + let xdo = "${pkgs.xdotool}/bin/xdotool"; in + '' + sub krunner { + my ($win,) = @_; + $machine->execute("${xdo} key Alt+F2 sleep 1 type $win"); + $machine->execute("${xdo} search --sync --onlyvisible --class krunner sleep 5 key Return"); + } + + $machine->waitUntilSucceeds("pgrep plasmashell"); + $machine->succeed("xauth merge ~alice/.Xauthority"); + $machine->waitForWindow(qr/Desktop.*/); + + # Check that logging in has given the user ownership of devices. + $machine->succeed("getfacl /dev/snd/timer | grep -q alice"); + + krunner("dolphin"); + $machine->waitForWindow(qr/.*Dolphin/); + + krunner("konsole"); + $machine->waitForWindow(qr/.*Konsole/); + + krunner("systemsettings5"); + $machine->waitForWindow(qr/.*Settings/); + $machine->sleep(20); + + $machine->execute("${xdo} key Alt+F1 sleep 10"); + $machine->screenshot("screen"); ''; }) -- cgit 1.4.1