···
+
import ./make-test.nix ({ pkgs, ...} :
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ttuegel ];
···
machine = { lib, ... }: {
imports = [ ./common/user-account.nix ];
+
virtualisation.memorySize = 1024;
services.xserver.enable = true;
services.xserver.displayManager.sddm = {
···
services.xserver.desktopManager.kde5.enable = true;
+
testScript = { nodes, ... }:
+
let xdo = "${pkgs.xdotool}/bin/xdotool"; in
+
$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");
+
$machine->waitForWindow(qr/.*Dolphin/);
+
$machine->waitForWindow(qr/.*Konsole/);
+
krunner("systemsettings5");
+
$machine->waitForWindow(qr/.*Settings/);
+
$machine->execute("${xdo} key Alt+F1 sleep 10");
+
$machine->screenshot("screen");