nixpkgs/nixos/tests/lightdm.nix
Tuomas Tynkkynen f7771131b6 nixos/tests/lightdm: Fix waiting for the login to succeed
Currently the lightdm test detects a successful login by OCR'ing the
screen and searching for the clock widget's text.  Since the last
IceWM update (commit bdd20ced), either the font or the colors of the
clock changed such that the OCR doesn't pick it up anymore.

Instead, just look for a matching (root) window title, e.g.
"IceWM 1.3.9 (Linux/i686)"
2015-08-15 17:12:07 +03:00

29 lines
836 B
Nix

import ./make-test.nix ({ pkgs, ...} : {
name = "lightdm";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ aszlig ];
};
machine = { lib, ... }: {
imports = [ ./common/user-account.nix ];
services.xserver.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.windowManager.default = "icewm";
services.xserver.windowManager.icewm.enable = true;
services.xserver.desktopManager.default = "none";
};
enableOCR = true;
testScript = { nodes, ... }: let
user = nodes.machine.config.users.extraUsers.alice;
in ''
startAll;
$machine->waitForText(qr/${user.description}/);
$machine->screenshot("lightdm");
$machine->sendChars("${user.password}\n");
$machine->waitForWindow("^IceWM ");
$machine->screenshot("session");
'';
})