qtile: add passthru tests

This commit is contained in:
Sigmanificient 2024-04-22 19:00:41 +02:00
parent 06fc875337
commit 1cdb19472c
3 changed files with 41 additions and 1 deletions

View File

@ -772,6 +772,7 @@ in {
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 Normal file
View File

@ -0,0 +1,34 @@
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")
'';
})

View File

@ -28,6 +28,7 @@
, xcbutilwm
, xcffib
, xkbcommon
, nixosTests
}:
buildPythonPackage rec {
@ -89,7 +90,11 @@ 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/";