nixos/zoneminder: add minimal test

Changed files
+30 -3
nixos
pkgs
servers
zoneminder
+2 -1
nixos/tests/all-tests.nix
···
yabar = handleTest ./yabar.nix {};
yggdrasil = handleTest ./yggdrasil.nix {};
zfs = handleTest ./zfs.nix {};
+
zoneminder = handleTest ./zoneminder.nix {};
+
zookeeper = handleTest ./zookeeper.nix {};
zsh-history = handleTest ./zsh-history.nix {};
-
zookeeper = handleTest ./zookeeper.nix {};
}
+23
nixos/tests/zoneminder.nix
···
+
import ./make-test-python.nix ({ lib, ...}:
+
+
{
+
name = "zoneminder";
+
meta.maintainers = with lib.maintainers; [ danielfullmer ];
+
+
machine = { ... }:
+
{
+
services.zoneminder = {
+
enable = true;
+
database.createLocally = true;
+
database.username = "zoneminder";
+
};
+
time.timeZone = "America/New_York";
+
};
+
+
testScript = ''
+
machine.wait_for_unit("zoneminder.service")
+
machine.wait_for_unit("nginx.service")
+
machine.wait_for_open_port(8095)
+
machine.succeed("curl --fail http://localhost:8095/")
+
'';
+
})
+5 -2
pkgs/servers/zoneminder/default.nix
···
{ stdenv, lib, fetchFromGitHub, fetchurl, substituteAll, cmake, makeWrapper, pkgconfig
, curl, ffmpeg, glib, libjpeg, libselinux, libsepol, mp4v2, libmysqlclient, mysql, pcre, perl, perlPackages
, polkit, utillinuxMinimal, x264, zlib
-
, coreutils, procps, psmisc }:
+
, coreutils, procps, psmisc, nixosTests }:
# NOTES:
#
···
"-DZM_WEB_GROUP=${user}"
];
-
passthru = { inherit dirName; };
+
passthru = {
+
inherit dirName;
+
tests = nixosTests.zoneminder;
+
};
postInstall = ''
PERL5LIB="$PERL5LIB''${PERL5LIB:+:}$out/${perl.libPrefix}"