meta.tests: rename into passthru.tests
Nix currently rejects derivations in `meta` values. This works around that limitation by using `passthru` instead. Closes https://github.com/NixOS/nixpkgs/issues/50230
This commit is contained in:
parent
cae5598611
commit
2986ce16a8
13
doc/meta.xml
13
doc/meta.xml
@ -255,6 +255,17 @@ meta.platforms = stdenv.lib.platforms.linux;
|
|||||||
<varname>tests</varname>
|
<varname>tests</varname>
|
||||||
</term>
|
</term>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
<warning>
|
||||||
|
<para>
|
||||||
|
This attribute is special in that it is not actually under the
|
||||||
|
<literal>meta</literal> attribute set but rather under the
|
||||||
|
<literal>passthru</literal> attribute set. This is due to a current
|
||||||
|
limitation of Nix, and will change as soon as Nixpkgs will be able to
|
||||||
|
depend on a new enough version of Nix. See
|
||||||
|
<link xlink:href="https://github.com/NixOS/nix/issues/2532">the relevant
|
||||||
|
issue</link> for more details.
|
||||||
|
</para>
|
||||||
|
</warning>
|
||||||
<para>
|
<para>
|
||||||
An attribute set with as values tests. A test is a derivation, which
|
An attribute set with as values tests. A test is a derivation, which
|
||||||
builds successfully when the test passes, and fails to build otherwise. A
|
builds successfully when the test passes, and fails to build otherwise. A
|
||||||
@ -269,7 +280,7 @@ meta.platforms = stdenv.lib.platforms.linux;
|
|||||||
{ /* ... */, nixosTests }:
|
{ /* ... */, nixosTests }:
|
||||||
{
|
{
|
||||||
# ...
|
# ...
|
||||||
meta.tests = {
|
passthru.tests = {
|
||||||
basic-functionality-and-dovecot-integration = nixosTests.opensmtpd;
|
basic-functionality-and-dovecot-integration = nixosTests.opensmtpd;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
# The return value of this function will be an attrset with arbitrary depth and
|
# The return value of this function will be an attrset with arbitrary depth and
|
||||||
# the `anything` returned by callTest at its test leafs.
|
# the `anything` returned by callTest at its test leafs.
|
||||||
# The tests not supported by `system` will be replaced with `{}`, so that
|
# The tests not supported by `system` will be replaced with `{}`, so that
|
||||||
# `meta.tests` can contain links to those without breaking on architectures
|
# `passthru.tests` can contain links to those without breaking on architectures
|
||||||
# where said tests are unsupported.
|
# where said tests are unsupported.
|
||||||
# Example callTest that just extracts the derivation from the test:
|
# Example callTest that just extracts the derivation from the test:
|
||||||
# callTest = t: t.test;
|
# callTest = t: t.test;
|
||||||
|
@ -68,11 +68,8 @@ stdenv.mkDerivation rec {
|
|||||||
description = "Open source IMAP and POP3 email server written with security primarily in mind";
|
description = "Open source IMAP and POP3 email server written with security primarily in mind";
|
||||||
maintainers = with stdenv.lib.maintainers; [ peti rickynils fpletz ];
|
maintainers = with stdenv.lib.maintainers; [ peti rickynils fpletz ];
|
||||||
platforms = stdenv.lib.platforms.unix;
|
platforms = stdenv.lib.platforms.unix;
|
||||||
# https://github.com/NixOS/nixpkgs/issues/50230 must be resolved before
|
};
|
||||||
# this can be enabled.
|
passthru.tests = {
|
||||||
#
|
opensmtpd-interaction = nixosTests.opensmtpd;
|
||||||
# tests = {
|
|
||||||
# opensmtpd-interaction = nixosTests.opensmtpd;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -61,11 +61,8 @@ stdenv.mkDerivation rec {
|
|||||||
license = licenses.isc;
|
license = licenses.isc;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
maintainers = with maintainers; [ rickynils obadz ekleog ];
|
maintainers = with maintainers; [ rickynils obadz ekleog ];
|
||||||
# https://github.com/NixOS/nixpkgs/issues/50230 must be resolved before
|
};
|
||||||
# this can be enabled.
|
passthru.tests = {
|
||||||
#
|
basic-functionality-and-dovecot-interaction = nixosTests.opensmtpd;
|
||||||
# tests = {
|
|
||||||
# basic-functionality-and-dovecot-interaction = nixosTests.opensmtpd;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -166,6 +166,7 @@ let
|
|||||||
hydraPlatforms = listOf str;
|
hydraPlatforms = listOf str;
|
||||||
broken = bool;
|
broken = bool;
|
||||||
# TODO: refactor once something like Profpatsch's types-simple will land
|
# TODO: refactor once something like Profpatsch's types-simple will land
|
||||||
|
# This is currently dead code due to https://github.com/NixOS/nix/issues/2532
|
||||||
tests = attrsOf (mkOptionType {
|
tests = attrsOf (mkOptionType {
|
||||||
name = "test";
|
name = "test";
|
||||||
check = x: x == {} || ( # Accept {} for tests that are unsupported
|
check = x: x == {} || ( # Accept {} for tests that are unsupported
|
||||||
|
Loading…
x
Reference in New Issue
Block a user