Loading nixos/tests/all-tests.nix +1 −0 Original line number Diff line number Diff line Loading @@ -742,6 +742,7 @@ in { sddm = handleTest ./sddm.nix {}; seafile = handleTest ./seafile.nix {}; searx = handleTest ./searx.nix {}; seatd = handleTest ./seatd.nix {}; service-runner = handleTest ./service-runner.nix {}; sftpgo = runTest ./sftpgo.nix; sfxr-qt = handleTest ./sfxr-qt.nix {}; Loading nixos/tests/seatd.nix 0 → 100644 +51 −0 Original line number Diff line number Diff line import ./make-test-python.nix ({ pkgs, lib, ... }: let seatd-test = pkgs.writeShellApplication { name = "seatd-client-pid"; text = '' journalctl -u seatd --no-pager -b | while read -r line; do case "$line" in *"New client connected"*) line="''${line##*pid: }" pid="''${line%%,*}" ;; *"Opened client"*) echo "$pid" exit esac done; ''; }; in { name = "seatd"; meta.maintainers = with lib.maintainers; [ sinanmohd ]; nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; services.getty.autologinUser = "alice"; users.users.alice.extraGroups = [ "seat" "wheel" ]; fonts.enableDefaultPackages = true; environment.systemPackages = with pkgs; [ dwl foot seatd-test ]; programs.bash.loginShellInit = '' [ "$(tty)" = "/dev/tty1" ] && dwl -s 'foot touch /tmp/foot_started' ''; hardware.opengl.enable = true; virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; services.seatd.enable = true; }; testScript = '' machine.wait_for_file("/tmp/foot_started") machine.succeed("test $(seatd-client-pid) = $(pgrep dwl)") ''; }) pkgs/applications/misc/seatd/default.nix +3 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ , scdoc , stdenv , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd , nixosTests }: stdenv.mkDerivation (finalAttrs: { Loading Loading @@ -40,6 +41,8 @@ stdenv.mkDerivation (finalAttrs: { "-Dserver=enabled" ]; passthru.tests.basic = nixosTests.seatd; meta = { description = "A minimal seat management daemon, and a universal seat management library"; changelog = "https://git.sr.ht/~kennylevinsen/seatd/refs/${finalAttrs.version}"; Loading Loading
nixos/tests/all-tests.nix +1 −0 Original line number Diff line number Diff line Loading @@ -742,6 +742,7 @@ in { sddm = handleTest ./sddm.nix {}; seafile = handleTest ./seafile.nix {}; searx = handleTest ./searx.nix {}; seatd = handleTest ./seatd.nix {}; service-runner = handleTest ./service-runner.nix {}; sftpgo = runTest ./sftpgo.nix; sfxr-qt = handleTest ./sfxr-qt.nix {}; Loading
nixos/tests/seatd.nix 0 → 100644 +51 −0 Original line number Diff line number Diff line import ./make-test-python.nix ({ pkgs, lib, ... }: let seatd-test = pkgs.writeShellApplication { name = "seatd-client-pid"; text = '' journalctl -u seatd --no-pager -b | while read -r line; do case "$line" in *"New client connected"*) line="''${line##*pid: }" pid="''${line%%,*}" ;; *"Opened client"*) echo "$pid" exit esac done; ''; }; in { name = "seatd"; meta.maintainers = with lib.maintainers; [ sinanmohd ]; nodes.machine = { ... }: { imports = [ ./common/user-account.nix ]; services.getty.autologinUser = "alice"; users.users.alice.extraGroups = [ "seat" "wheel" ]; fonts.enableDefaultPackages = true; environment.systemPackages = with pkgs; [ dwl foot seatd-test ]; programs.bash.loginShellInit = '' [ "$(tty)" = "/dev/tty1" ] && dwl -s 'foot touch /tmp/foot_started' ''; hardware.opengl.enable = true; virtualisation.qemu.options = [ "-vga none -device virtio-gpu-pci" ]; services.seatd.enable = true; }; testScript = '' machine.wait_for_file("/tmp/foot_started") machine.succeed("test $(seatd-client-pid) = $(pgrep dwl)") ''; })
pkgs/applications/misc/seatd/default.nix +3 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,7 @@ , scdoc , stdenv , systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd , nixosTests }: stdenv.mkDerivation (finalAttrs: { Loading Loading @@ -40,6 +41,8 @@ stdenv.mkDerivation (finalAttrs: { "-Dserver=enabled" ]; passthru.tests.basic = nixosTests.seatd; meta = { description = "A minimal seat management daemon, and a universal seat management library"; changelog = "https://git.sr.ht/~kennylevinsen/seatd/refs/${finalAttrs.version}"; Loading