From 41c50cc5052e80a7132880b28ff38c52b611c974 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Fri, 8 Jan 2021 13:48:00 -0300 Subject: [PATCH] nixos/opentabletdriver: add tests --- nixos/tests/all-tests.nix | 1 + nixos/tests/opentabletdriver.nix | 27 +++++++++++++++++++++ pkgs/tools/X11/opentabletdriver/default.nix | 5 ++++ 3 files changed, 33 insertions(+) create mode 100644 nixos/tests/opentabletdriver.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c491b559213..8d04f10157e 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -281,6 +281,7 @@ in openssh = handleTest ./openssh.nix {}; openstack-image-metadata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).metadata or {}; openstack-image-userdata = (handleTestOn ["x86_64-linux"] ./openstack-image.nix {}).userdata or {}; + opentabletdriver = handleTest ./opentabletdriver.nix {}; image-contents = handleTest ./image-contents.nix {}; orangefs = handleTest ./orangefs.nix {}; os-prober = handleTestOn ["x86_64-linux"] ./os-prober.nix {}; diff --git a/nixos/tests/opentabletdriver.nix b/nixos/tests/opentabletdriver.nix new file mode 100644 index 00000000000..2cadfae6b26 --- /dev/null +++ b/nixos/tests/opentabletdriver.nix @@ -0,0 +1,27 @@ +import ./make-test-python.nix ( { pkgs, ... }: { + name = "opentabletdriver"; + meta = { + maintainers = with pkgs.stdenv.lib.maintainers; [ thiagokokada ]; + }; + + machine = { pkgs, ... }: + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + test-support.displayManager.auto.user = "alice"; + hardware.opentabletdriver.enable = true; + }; + + testScript = + '' + machine.start() + machine.wait_for_x() + machine.wait_for_unit("opentabletdriver.service", "alice") + + machine.succeed("cat /etc/udev/rules.d/30-opentabletdriver.rules") + # Will fail if service is not running + machine.succeed("otd detect") + ''; +}) diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix index 486cb50b7f3..dc527f47dd3 100644 --- a/pkgs/tools/X11/opentabletdriver/default.nix +++ b/pkgs/tools/X11/opentabletdriver/default.nix @@ -17,6 +17,7 @@ , copyDesktopItems , makeDesktopItem , makeWrapper +, nixosTests , wrapGAppsHook }: @@ -154,6 +155,10 @@ stdenv.mkDerivation rec { dontWrapGApps = true; dontStrip = true; + passthru.tests = { + otd-runs = nixosTests.opentabletdriver; + }; + meta = with lib; { description = "Open source, cross-platform, user-mode tablet driver"; homepage = "https://github.com/InfinityGhost/OpenTabletDriver";