diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 6c127efa4cea..272fe6933d63 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -750,6 +750,7 @@ in { signal-desktop = handleTest ./signal-desktop.nix {}; simple = handleTest ./simple.nix {}; sing-box = handleTest ./sing-box.nix {}; + slimserver = handleTest ./slimserver.nix {}; slurm = handleTest ./slurm.nix {}; smokeping = handleTest ./smokeping.nix {}; snapcast = handleTest ./snapcast.nix {}; diff --git a/nixos/tests/slimserver.nix b/nixos/tests/slimserver.nix new file mode 100644 index 000000000000..09dbf20bd78a --- /dev/null +++ b/nixos/tests/slimserver.nix @@ -0,0 +1,16 @@ +import ./make-test-python.nix ({ pkgs, ...} : { + name = "slimserver"; + meta.maintainers = with pkgs.lib.maintainers; [ adamcstephens ]; + + nodes.machine = { ... }: { + services.slimserver.enable = true; + }; + + testScript = + '' + machine.wait_for_unit("slimserver.service") + machine.wait_for_open_port(9000) + machine.succeed("curl http://localhost:9000") + machine.wait_until_succeeds("journalctl -eu slimserver.service | grep 'Completed dbOptimize Scan'") + ''; +}) diff --git a/pkgs/servers/slimserver/default.nix b/pkgs/servers/slimserver/default.nix index 4e42937a8972..94c01fd8e981 100644 --- a/pkgs/servers/slimserver/default.nix +++ b/pkgs/servers/slimserver/default.nix @@ -5,6 +5,7 @@ , lib , makeWrapper , monkeysAudio +, nixosTests , perl536Packages , sox , stdenv @@ -53,6 +54,10 @@ perlPackages.buildPerlPackage rec { outputs = [ "out" ]; + passthru.tests = { + inherit (nixosTests) slimserver; + }; + meta = with lib; { homepage = "https://github.com/Logitech/slimserver"; description = "Server for Logitech Squeezebox players. This server is also called Logitech Media Server";