at 25.11-pre 1.4 kB view raw
1import ./make-test-python.nix ( 2 { lib, ... }: 3 { 4 name = "herbstluftwm"; 5 6 meta = { 7 maintainers = with lib.maintainers; [ thibautmarty ]; 8 }; 9 10 nodes.machine = 11 { pkgs, lib, ... }: 12 { 13 imports = [ 14 ./common/x11.nix 15 ./common/user-account.nix 16 ]; 17 test-support.displayManager.auto.user = "alice"; 18 services.displayManager.defaultSession = lib.mkForce "none+herbstluftwm"; 19 services.xserver.windowManager.herbstluftwm.enable = true; 20 environment.systemPackages = [ pkgs.dzen2 ]; # needed for upstream provided panel 21 }; 22 23 testScript = '' 24 with subtest("ensure x starts"): 25 machine.wait_for_x() 26 machine.wait_for_file("/home/alice/.Xauthority") 27 machine.succeed("xauth merge ~alice/.Xauthority") 28 29 with subtest("ensure client is available"): 30 machine.succeed("herbstclient --version") 31 32 with subtest("ensure keybindings are set"): 33 machine.wait_until_succeeds("herbstclient list_keybinds | grep xterm") 34 35 with subtest("ensure panel starts"): 36 machine.wait_for_window("dzen title") 37 38 with subtest("ensure we can open a new terminal"): 39 machine.send_key("alt-ret") 40 machine.wait_for_window(r"alice.*?machine") 41 machine.sleep(2) 42 machine.screenshot("terminal") 43 ''; 44 } 45)