lol

Merge pull request #28989 from NeQuissimus/tests_xmonad

Add XMonad test

authored by

Tim Steinbach and committed by
GitHub
0857e4c8 37392454

+30
+1
nixos/release-combined.nix
··· 117 (all nixos.tests.slim) 118 (all nixos.tests.udisks2) 119 (all nixos.tests.xfce) 120 121 nixpkgs.tarball 122 (all allSupportedNixpkgs.emacs)
··· 117 (all nixos.tests.slim) 118 (all nixos.tests.udisks2) 119 (all nixos.tests.xfce) 120 + (all nixos.tests.xmonad) 121 122 nixpkgs.tarball 123 (all allSupportedNixpkgs.emacs)
+1
nixos/release.nix
··· 315 tests.virtualbox = callSubTests tests/virtualbox.nix { system = "x86_64-linux"; }; 316 tests.wordpress = callTest tests/wordpress.nix {}; 317 tests.xfce = callTest tests/xfce.nix {}; 318 319 320 /* Build a bunch of typical closures so that Hydra can keep track of
··· 315 tests.virtualbox = callSubTests tests/virtualbox.nix { system = "x86_64-linux"; }; 316 tests.wordpress = callTest tests/wordpress.nix {}; 317 tests.xfce = callTest tests/xfce.nix {}; 318 + tests.xmonad = callTest tests/xmonad.nix {}; 319 320 321 /* Build a bunch of typical closures so that Hydra can keep track of
+28
nixos/tests/xmonad.nix
···
··· 1 + import ./make-test.nix ({ pkgs, ...} : { 2 + name = "xmonad"; 3 + meta = with pkgs.stdenv.lib.maintainers; { 4 + maintainers = [ nequissimus ]; 5 + }; 6 + 7 + machine = { lib, pkgs, ... }: { 8 + imports = [ ./common/x11.nix ./common/user-account.nix ]; 9 + services.xserver.displayManager.auto.user = "alice"; 10 + services.xserver.windowManager.default = lib.mkForce "xmonad"; 11 + services.xserver.windowManager.xmonad = { 12 + enable = true; 13 + enableContribAndExtras = true; 14 + extraPackages = with pkgs.haskellPackages; haskellPackages: [ xmobar ]; 15 + }; 16 + }; 17 + 18 + testScript = { nodes, ... }: '' 19 + $machine->waitForX; 20 + $machine->waitForFile("/home/alice/.Xauthority"); 21 + $machine->succeed("xauth merge ~alice/.Xauthority"); 22 + $machine->sleep(3); 23 + $machine->sendKeys("alt-shift-ret"); 24 + $machine->waitForWindow(qr/machine.*alice/); 25 + $machine->sleep(1); 26 + $machine->screenshot("terminal"); 27 + ''; 28 + })