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.fleet = scrubDrv (import tests/fleet.nix { system = "x86_64-linux"; });
|
||||||
#tests.gitlab = callTest tests/gitlab.nix {};
|
#tests.gitlab = callTest tests/gitlab.nix {};
|
||||||
tests.gnome3 = callTest tests/gnome3.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.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.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);
|
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 New Issue
Block a user