diff options
author | Profpatsch <mail@profpatsch.de> | 2020-06-28T00·30+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2020-06-28T17·59+0000 |
commit | cdfae7de48051b3230044f9bfb81b341608e85f4 (patch) | |
tree | 76915f17b38da3a65f2f1bd2a14c7a2f48350d54 /nix/emptyDerivation/tests.nix | |
parent | 98a990c6a60c56920c0748f459af06a3aed25242 (diff) |
feat(nix/emptyDerivation) add emptyDerivation r/1108
The most trivial of all derivations. It is more useful than it looks. Can be used to bind nix expressions (e.g. test suites) to a derivation, so that `nix-build` does not crap itself. Change-Id: I61c24d8c129c9505733161207f3c30e820f5b15e Reviewed-on: https://cl.tvl.fyi/c/depot/+/665 Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'nix/emptyDerivation/tests.nix')
-rw-r--r-- | nix/emptyDerivation/tests.nix | 32 |
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 +] |