forked from mirrors/nixpkgs
nixos: Add VM test for i3 window manager.
Currently just makes sure that by default it's possible to open a terminal. And exactly this should be the main point that might confuse users of i3 in NixOS, because i3 doesn't print a warning/error if it is unable to start the terminal emulator. Thanks to @waaaaargh for reporting this issue. Signed-off-by: aszlig <aszlig@redmoonstudios.org>
This commit is contained in:
parent
7915060d79
commit
19a7494600
|
@ -254,6 +254,7 @@ in rec {
|
|||
tests.fleet = scrubDrv (import tests/fleet.nix { system = "x86_64-linux"; });
|
||||
#tests.gitlab = callTest tests/gitlab.nix {};
|
||||
tests.gnome3 = callTest tests/gnome3.nix {};
|
||||
tests.i3wm = callTest tests/i3wm.nix {};
|
||||
tests.installer.grub1 = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).grub1.test);
|
||||
tests.installer.lvm = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).lvm.test);
|
||||
tests.installer.rebuildCD = forAllSystems (system: scrubDrv (import tests/installer.nix { inherit system; }).rebuildCD.test);
|
||||
|
|
28
nixos/tests/i3wm.nix
Normal file
28
nixos/tests/i3wm.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
import ./make-test.nix {
|
||||
name = "i3wm";
|
||||
|
||||
machine = { lib, pkgs, ... }: {
|
||||
imports = [ ./common/x11.nix ./common/user-account.nix ];
|
||||
services.xserver.displayManager.auto.user = "alice";
|
||||
services.xserver.windowManager.default = lib.mkForce "i3";
|
||||
services.xserver.windowManager.i3.enable = true;
|
||||
};
|
||||
|
||||
testScript = { nodes, ... }: ''
|
||||
$machine->waitForX;
|
||||
$machine->waitForWindow(qr/first configuration/);
|
||||
$machine->sleep(1);
|
||||
$machine->screenshot("started");
|
||||
$machine->sendKeys("ret");
|
||||
$machine->sleep(1);
|
||||
$machine->sendKeys("alt");
|
||||
$machine->sleep(1);
|
||||
$machine->screenshot("configured");
|
||||
$machine->sendKeys("ret");
|
||||
$machine->sleep(2);
|
||||
$machine->sendKeys("alt-ret");
|
||||
$machine->waitForWindow(qr/machine.*alice/);
|
||||
$machine->sleep(1);
|
||||
$machine->screenshot("terminal");
|
||||
'';
|
||||
}
|
Loading…
Reference in a new issue