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