diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 4edc8777cf16..be7df9027bb4 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -748,6 +748,7 @@ in hydra = runTest ./hydra; i18n = runTest ./i18n.nix; i3wm = runTest ./i3wm.nix; + icecast = runTest ./icecast.nix; icingaweb2 = runTest ./icingaweb2.nix; ifm = runTest ./ifm.nix; ifstate = import ./ifstate { inherit runTest; }; diff --git a/nixos/tests/icecast.nix b/nixos/tests/icecast.nix new file mode 100644 index 000000000000..bb6652e8ecf8 --- /dev/null +++ b/nixos/tests/icecast.nix @@ -0,0 +1,25 @@ +{ + pkgs, + ... +}: + +{ + name = "icecast"; + meta = { + inherit (pkgs.icecast.meta) maintainers; + }; + + nodes.machine = { + services.icecast = { + enable = true; + hostname = "nixos.test"; + admin.password = "test"; + }; + }; + + testScript = '' + machine.wait_for_unit("icecast.service") + machine.wait_for_open_port(8000) + machine.succeed("curl -fail http://localhost:8000 | grep -q 'DO NOT ATTEMPT TO PARSE ICECAST HTML OUTPUT'") + ''; +} diff --git a/pkgs/by-name/ic/icecast/package.nix b/pkgs/by-name/ic/icecast/package.nix index 1c67acf92add..770ce90b5f8c 100644 --- a/pkgs/by-name/ic/icecast/package.nix +++ b/pkgs/by-name/ic/icecast/package.nix @@ -13,6 +13,7 @@ libxslt, rhash, speex, + nixosTests, }: stdenv.mkDerivation (finalAttrs: { @@ -39,6 +40,10 @@ stdenv.mkDerivation (finalAttrs: { speex ]; + passthru.tests = { + inherit (nixosTests) icecast; + }; + meta = { description = "Server software for streaming multimedia"; mainProgram = "icecast";