···
1
-
import ./make-test.nix ({ pkgs, ...} : {
1
+
import ./make-test.nix ({ pkgs, ...} :
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ttuegel ];
···
machine = { lib, ... }: {
imports = [ ./common/user-account.nix ];
11
+
virtualisation.memorySize = 1024;
services.xserver.enable = true;
services.xserver.displayManager.sddm = {
···
17
-
services.xserver.windowManager.default = "icewm";
18
-
services.xserver.windowManager.icewm.enable = true;
19
-
services.xserver.desktopManager.default = "none";
services.xserver.desktopManager.kde5.enable = true;
25
-
testScript = { nodes, ... }: ''
27
-
$machine->waitForFile("/home/alice/.Xauthority");
28
-
$machine->succeed("xauth merge ~alice/.Xauthority");
29
-
$machine->waitForWindow("^IceWM ");
25
+
testScript = { nodes, ... }:
26
+
let xdo = "${pkgs.xdotool}/bin/xdotool"; in
30
+
$machine->execute("${xdo} key Alt+F2 sleep 1 type $win");
31
+
$machine->execute("${xdo} search --sync --onlyvisible --class krunner sleep 5 key Return");
34
+
$machine->waitUntilSucceeds("pgrep plasmashell");
35
+
$machine->succeed("xauth merge ~alice/.Xauthority");
36
+
$machine->waitForWindow(qr/Desktop.*/);
38
+
# Check that logging in has given the user ownership of devices.
39
+
$machine->succeed("getfacl /dev/snd/timer | grep -q alice");
42
+
$machine->waitForWindow(qr/.*Dolphin/);
45
+
$machine->waitForWindow(qr/.*Konsole/);
47
+
krunner("systemsettings5");
48
+
$machine->waitForWindow(qr/.*Settings/);
49
+
$machine->sleep(20);
51
+
$machine->execute("${xdo} key Alt+F1 sleep 10");
52
+
$machine->screenshot("screen");