Merge pull request #28989 from NeQuissimus/tests_xmonad

Add XMonad test

Changed files
+30
nixos
+1
nixos/release-combined.nix
···
(all nixos.tests.slim)
(all nixos.tests.udisks2)
(all nixos.tests.xfce)
+
(all nixos.tests.xmonad)
nixpkgs.tarball
(all allSupportedNixpkgs.emacs)
+1
nixos/release.nix
···
tests.virtualbox = callSubTests tests/virtualbox.nix { system = "x86_64-linux"; };
tests.wordpress = callTest tests/wordpress.nix {};
tests.xfce = callTest tests/xfce.nix {};
+
tests.xmonad = callTest tests/xmonad.nix {};
/* Build a bunch of typical closures so that Hydra can keep track of
+28
nixos/tests/xmonad.nix
···
+
import ./make-test.nix ({ pkgs, ...} : {
+
name = "xmonad";
+
meta = with pkgs.stdenv.lib.maintainers; {
+
maintainers = [ nequissimus ];
+
};
+
+
machine = { lib, pkgs, ... }: {
+
imports = [ ./common/x11.nix ./common/user-account.nix ];
+
services.xserver.displayManager.auto.user = "alice";
+
services.xserver.windowManager.default = lib.mkForce "xmonad";
+
services.xserver.windowManager.xmonad = {
+
enable = true;
+
enableContribAndExtras = true;
+
extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ];
+
};
+
};
+
+
testScript = { nodes, ... }: ''
+
$machine->waitForX;
+
$machine->waitForFile("/home/alice/.Xauthority");
+
$machine->succeed("xauth merge ~alice/.Xauthority");
+
$machine->sleep(3);
+
$machine->sendKeys("alt-shift-ret");
+
$machine->waitForWindow(qr/machine.*alice/);
+
$machine->sleep(1);
+
$machine->screenshot("terminal");
+
'';
+
})