about summary refs log tree commit diff
path: root/tests/multiple-outputs.nix
diff options
context:
space:
mode:
Diffstat (limited to 'tests/multiple-outputs.nix')
-rw-r--r--tests/multiple-outputs.nix36
1 files changed, 24 insertions, 12 deletions
diff --git a/tests/multiple-outputs.nix b/tests/multiple-outputs.nix
index e8fbf91bfa89..a4cf0caea476 100644
--- a/tests/multiple-outputs.nix
+++ b/tests/multiple-outputs.nix
@@ -1,23 +1,35 @@
 with import ./config.nix;
 
-let
+rec {
 
   a = mkDerivation {
     name = "multiple-outputs-a";
     outputs = [ "first" "second" ];
-    builder = ./multiple-outputs.a.builder.sh;
+    builder = builtins.toFile "builder.sh"
+      ''
+        mkdir $first $second
+        test -z $all
+        echo "second" > $first/file
+        echo "first" > $second/file
+      '';
     helloString = "Hello, world!";
   };
 
-in
-
-assert a.second.helloString == "Hello, world!";
+  b = mkDerivation {
+    defaultOutput = assert a.second.helloString == "Hello, world!"; a;
+    firstOutput = a.first.first;
+    secondOutput = a.second.first.first.second.second.first.second;
+    allOutputs = a.all;
+    name = "multiple-outputs-b";
+    builder = builtins.toFile "builder.sh"
+      ''
+        mkdir $out
+        test "$firstOutput $secondOutput" = "$allOutputs"
+        test "$defaultOutput" = "$firstOutput"
+        test "$(cat $firstOutput/file)" = "second"
+        test "$(cat $secondOutput/file)" = "first"
+        echo "success" > $out/file
+      '';
+  };
 
-mkDerivation {
-  defaultOutput = a;
-  firstOutput = a.first.first;
-  secondOutput = a.second.first.first.second.second.first.second;
-  allOutputs = a.all;
-  name = "multiple-outputs-b";
-  builder = ./multiple-outputs.b.builder.sh;
 }