about summary refs log tree commit diff
path: root/nix/emptyDerivation/tests.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nix/emptyDerivation/tests.nix')
-rw-r--r--nix/emptyDerivation/tests.nix32
1 files changed, 32 insertions, 0 deletions
diff --git a/nix/emptyDerivation/tests.nix b/nix/emptyDerivation/tests.nix
new file mode 100644
index 000000000000..053603b02772
--- /dev/null
+++ b/nix/emptyDerivation/tests.nix
@@ -0,0 +1,32 @@
+{ emptyDerivation, getBins, pkgs, writeExecline, runTestsuite, it, assertEq }:
+
+let
+  bins = getBins pkgs.s6-portable-utils [ "s6-echo" ];
+
+  empty = it "is just an empty path" [
+    (assertEq "path empty"
+      (builtins.readFile emptyDerivation)
+      "")
+  ];
+
+  fooOut = emptyDerivation {
+    builder = writeExecline "foo-builder" {} [
+      "importas" "out" "out"
+      "redirfd" "-w" "1" "$out"
+      bins.s6-echo "-n" "foo"
+    ];
+  };
+
+  overrideBuilder = it "can override the builder" [
+    (assertEq "output is foo"
+      (builtins.readFile fooOut)
+      "foo")
+    (assertEq "can add new drv variables"
+      (emptyDerivation { foo = "bar"; }).foo
+      "bar")
+  ];
+
+in runTestsuite "emptyDerivation" [
+  empty
+  overrideBuilder
+]