about summary refs log tree commit diff
path: root/nixos/tests/libinput.nix
blob: 9b6fa159b999c60186338571c09a5ad9d2fd87ef (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import ./make-test-python.nix ({ ... }:

{
  name = "libinput";

  nodes.machine = { ... }:
    {
      imports = [
        ./common/x11.nix
        ./common/user-account.nix
      ];

      test-support.displayManager.auto.user = "alice";

      services.xserver.libinput = {
        enable = true;
        mouse = {
          naturalScrolling = true;
          leftHanded = true;
          middleEmulation = false;
          horizontalScrolling = false;
        };
      };
    };

  testScript = ''
    def expect_xserver_option(option, value):
        machine.succeed(f"""cat /var/log/X.0.log | grep -F 'Option "{option}" "{value}"'""")

    machine.start()
    machine.wait_for_x()
    machine.succeed("""cat /var/log/X.0.log | grep -F "Using input driver 'libinput'" """)
    expect_xserver_option("NaturalScrolling", "on")
    expect_xserver_option("LeftHanded", "on")
    expect_xserver_option("MiddleEmulation", "off")
    expect_xserver_option("HorizontalScrolling", "off")
  '';
})