diff options
author | Thibaut Marty <github@thibautmarty.fr> | 2020-11-27 19:20:36 +0000 |
---|---|---|
committer | Thibaut Marty <github@thibautmarty.fr> | 2021-01-18 16:12:52 +0000 |
commit | a6cdb113bd5fa4d136593909456e310c3f457597 (patch) | |
tree | 32d83773ba0328dee5ad72263200846924e1b6ca /nixos/tests/herbstluftwm.nix | |
parent | b1eb0af283167cdd0092f247d9d2db9c518789b8 (diff) |
herbstluftwm: add NixOS test
Diffstat (limited to 'nixos/tests/herbstluftwm.nix')
-rw-r--r-- | nixos/tests/herbstluftwm.nix | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nixos/tests/herbstluftwm.nix b/nixos/tests/herbstluftwm.nix new file mode 100644 index 0000000000000..2c98cceee6a21 --- /dev/null +++ b/nixos/tests/herbstluftwm.nix @@ -0,0 +1,38 @@ +import ./make-test-python.nix ({ lib, ...} : { + name = "herbstluftwm"; + + meta = { + maintainers = with lib.maintainers; [ thibautmarty ]; + timeout = 30; + }; + + machine = { pkgs, lib, ... }: { + imports = [ ./common/x11.nix ./common/user-account.nix ]; + test-support.displayManager.auto.user = "alice"; + services.xserver.displayManager.defaultSession = lib.mkForce "none+herbstluftwm"; + services.xserver.windowManager.herbstluftwm.enable = true; + environment.systemPackages = [ pkgs.dzen2 ]; # needed for upstream provided panel + }; + + testScript = '' + with subtest("ensure x starts"): + machine.wait_for_x() + machine.wait_for_file("/home/alice/.Xauthority") + machine.succeed("xauth merge ~alice/.Xauthority") + + with subtest("ensure client is available"): + machine.succeed("herbstclient --version") + + with subtest("ensure keybindings are set"): + machine.wait_until_succeeds("herbstclient list_keybinds | grep xterm") + + with subtest("ensure panel starts"): + machine.wait_for_window("dzen title") + + with subtest("ensure we can open a new terminal"): + machine.send_key("alt-ret") + machine.wait_for_window(r"alice.*?machine") + machine.sleep(2) + machine.screenshot("terminal") + ''; +}) |