diff --git a/tests/multiple-outputs.nix b/tests/multiple-outputs.nix index 9ce1f3dcf1..405999ce7c 100644 --- a/tests/multiple-outputs.nix +++ b/tests/multiple-outputs.nix @@ -42,6 +42,16 @@ rec { ''; }; + d = mkDerivation { + name = "multiple-outputs-d"; + drv = builtins.unsafeDiscardOutputDependency b.drvPath; + builder = builtins.toFile "builder.sh" + '' + mkdir $out + echo $drv > $out/drv + ''; + }; + cyclic = (mkDerivation { name = "cyclic-outputs"; outputs = [ "a" "b" ]; diff --git a/tests/multiple-outputs.sh b/tests/multiple-outputs.sh index aa328fdbc6..e95c6b4046 100644 --- a/tests/multiple-outputs.sh +++ b/tests/multiple-outputs.sh @@ -14,6 +14,12 @@ drvPath2=$(nix-instantiate multiple-outputs.nix -A c) grep -q 'multiple-outputs-a.drv",\["first","second"\]' $drvPath grep -q 'multiple-outputs-b.drv",\["out"\]' $drvPath +# While we're at it, test the ‘unsafeDiscardOutputDependency’ primop. +outPath=$(nix-build multiple-outputs.nix -A d) +drvPath=$(cat $outPath/drv) +outPath=$(nix-store -q $drvPath) +! [ -e "$outPath" ] + # Do a build of something that depends on a derivation with multiple # outputs. echo "building b..."