Merge pull request #306054 from Sigmanificient/qtile-tests

qtile: add passthru tests

Aleksana dfe10d3c 2bec0248

Changed files
+41 -1
nixos
pkgs
development
python-modules
qtile
+1
nixos/tests/all-tests.nix
···
qgis = handleTest ./qgis.nix { qgisPackage = pkgs.qgis; };
qgis-ltr = handleTest ./qgis.nix { qgisPackage = pkgs.qgis-ltr; };
qownnotes = handleTest ./qownnotes.nix {};
+
qtile = handleTest ./qtile.nix {};
quake3 = handleTest ./quake3.nix {};
quicktun = handleTest ./quicktun.nix {};
quorum = handleTest ./quorum.nix {};
+34
nixos/tests/qtile.nix
···
+
import ./make-test-python.nix ({ lib, ...} : {
+
name = "qtile";
+
+
meta = {
+
maintainers = with lib.maintainers; [ sigmanificient ];
+
};
+
+
nodes.machine = { pkgs, lib, ... }: {
+
imports = [ ./common/x11.nix ./common/user-account.nix ];
+
test-support.displayManager.auto.user = "alice";
+
+
services.xserver.windowManager.qtile.enable = true;
+
services.displayManager.defaultSession = lib.mkForce "none+qtile";
+
+
environment.systemPackages = [ pkgs.kitty ];
+
};
+
+
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("qtile --version")
+
+
with subtest("ensure we can open a new terminal"):
+
machine.sleep(2)
+
machine.send_key("meta_l-ret")
+
machine.wait_for_window(r"alice.*?machine")
+
machine.sleep(2)
+
machine.screenshot("terminal")
+
'';
+
})
+6 -1
pkgs/development/python-modules/qtile/default.nix
···
, xcbutilwm
, xcffib
, xkbcommon
+
, nixosTests
}:
buildPythonPackage rec {
···
xcbutilwm
];
-
doCheck = false; # Requires X server #TODO this can be worked out with the existing NixOS testing infrastructure.
+
doCheck = false;
+
passthru = {
+
tests.qtile = nixosTests.qtile;
+
providedSessions = [ "qtile" ];
+
};
meta = with lib; {
homepage = "http://www.qtile.org/";