diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index c1c9e7e5037..9bce49c9e30 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -222,6 +222,7 @@ in rxe = handleTest ./rxe.nix {}; samba = handleTest ./samba.nix {}; sddm = handleTest ./sddm.nix {}; + signal-desktop = handleTest ./signal-desktop.nix {}; simple = handleTest ./simple.nix {}; slim = handleTest ./slim.nix {}; slurm = handleTest ./slurm.nix {}; diff --git a/nixos/tests/signal-desktop.nix b/nixos/tests/signal-desktop.nix new file mode 100644 index 00000000000..605b9c3e130 --- /dev/null +++ b/nixos/tests/signal-desktop.nix @@ -0,0 +1,37 @@ +import ./make-test.nix ({ pkgs, ...} : + +{ + name = "signal-desktop"; + meta = with pkgs.stdenv.lib.maintainers; { + maintainers = [ flokli ]; + }; + + machine = { ... }: + + { + imports = [ + ./common/user-account.nix + ./common/x11.nix + ]; + + services.xserver.enable = true; + services.xserver.displayManager.auto.user = "alice"; + environment.systemPackages = [ pkgs.signal-desktop ]; + }; + + enableOCR = true; + + testScript = { nodes, ... }: let + user = nodes.machine.config.users.users.alice; + in '' + startAll; + $machine->waitForX; + + # start signal desktop + $machine->execute("su - alice -c signal-desktop &"); + + # wait for the "Link your phone to Signal Desktop" message + $machine->waitForText(qr/Link your phone to Signal Desktop/); + $machine->screenshot("signal_desktop"); + ''; +})