about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/multiple-outputs.nix10
-rw-r--r--tests/multiple-outputs.sh6
2 files changed, 16 insertions, 0 deletions
diff --git a/tests/multiple-outputs.nix b/tests/multiple-outputs.nix
index 9ce1f3dcf1b1..405999ce7c55 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 aa328fdbc689..e95c6b404632 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..."