diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/servers/mail/dovecot/default.nix | 4 | ||||
-rw-r--r-- | pkgs/servers/mail/opensmtpd/default.nix | 5 | ||||
-rw-r--r-- | pkgs/stdenv/generic/check-meta.nix | 12 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 20 |
4 files changed, 38 insertions, 3 deletions
diff --git a/pkgs/servers/mail/dovecot/default.nix b/pkgs/servers/mail/dovecot/default.nix index 3e628f876dd7..638393bd356a 100644 --- a/pkgs/servers/mail/dovecot/default.nix +++ b/pkgs/servers/mail/dovecot/default.nix @@ -1,6 +1,7 @@ { stdenv, lib, fetchurl, perl, pkgconfig, systemd, openssl , bzip2, zlib, lz4, inotify-tools, pam, libcap , clucene_core_2, icu, openldap, libsodium, libstemmer, cyrus_sasl +, nixosTests # Auth modules , withMySQL ? false, mysql , withPgSQL ? false, postgresql @@ -74,5 +75,8 @@ stdenv.mkDerivation rec { description = "Open source IMAP and POP3 email server written with security primarily in mind"; maintainers = with stdenv.lib.maintainers; [ peti rickynils fpletz ]; platforms = stdenv.lib.platforms.unix; + tests = { + opensmtpd-interaction = nixosTests.opensmtpd; + }; }; } diff --git a/pkgs/servers/mail/opensmtpd/default.nix b/pkgs/servers/mail/opensmtpd/default.nix index d55804504442..236e1dba181e 100644 --- a/pkgs/servers/mail/opensmtpd/default.nix +++ b/pkgs/servers/mail/opensmtpd/default.nix @@ -1,5 +1,5 @@ { stdenv, lib, fetchurl, fetchpatch, autoconf, automake, libtool, bison -, libasr, libevent, zlib, libressl, db, pam +, libasr, libevent, zlib, libressl, db, pam, nixosTests }: stdenv.mkDerivation rec { @@ -61,5 +61,8 @@ stdenv.mkDerivation rec { license = licenses.isc; platforms = platforms.linux; maintainers = with maintainers; [ rickynils obadz ekleog ]; + tests = { + basic-functionality-and-dovecot-interaction = nixosTests.opensmtpd; + }; }; } diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix index 26cd9f8beb96..0e93df855471 100644 --- a/pkgs/stdenv/generic/check-meta.nix +++ b/pkgs/stdenv/generic/check-meta.nix @@ -165,6 +165,16 @@ let platforms = listOf (either str lib.systems.parsedPlatform.types.system); hydraPlatforms = listOf str; broken = bool; + # TODO: refactor once something like Profpatsch's types-simple will land + tests = attrsOf (mkOptionType { + name = "test"; + check = x: isDerivation x && + x ? meta.timeout && + x ? meta.needsVMSupport; + merge = lib.options.mergeOneOption; + }); + needsVMSupport = bool; + timeout = int; # Weirder stuff that doesn't appear in the documentation? knownVulnerabilities = listOf str; @@ -184,8 +194,6 @@ let isIbusEngine = bool; isGutenprint = bool; badPlatforms = platforms; - # Hydra build timeout - timeout = int; }; checkMetaAttr = k: v: diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5a1b72ff1b38..9e9ee8797ff1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -71,6 +71,26 @@ with pkgs; common-updater-scripts = callPackage ../common-updater/scripts.nix { }; + ### Push NixOS tests inside the fixed point + + nixosTests = + let + # TODO(Ericson2314,ekleog): Check this will work correctly with cross- + system = builtins.currentSystem; + rawTests = (import ../../nixos/release.nix { + nixpkgs = pkgs; + }).tests; + testNames = builtins.attrNames rawTests; + filteredList = builtins.filter + (test: rawTests.${test} ? ${system}) + testNames; + finalList = map + (test: { name = test; value = rawTests.${test}.${system}; }) + filteredList; + finalTests = builtins.listToAttrs finalList; + in + finalTests; + ### BUILD SUPPORT autoreconfHook = makeSetupHook |