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)"
29 lines
836 B
Nix
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");
|
|
'';
|
|
})
|