tvl-depot/nix/readTree/tests
Profpatsch 83e81def23 feat(nix/readTree): give better error message when not a function
When a file is added to the depot tree that is picked up by read-tree,
but it’s not a function like ({...}: {}), `readTree` will fail on the
function application, leading to a bad error message.

We can do slightly better, by checking the type and throwing a nicer
trace message.

`assertMsg` is copied from `nixpkgs/lib/assert.nix`, since at this
point we don’t have a reference to the lib.

There is another evaluation failure that can happen, which is when the
function we try to call does not have dots; however, nix does not
provide any inflection capabilies for checking whether a function
attrset is open (`builtins.functionArgs` only tells us the attrs it
mentions explicitly). Maybe the locality of the error could be
improved somehow.

Change-Id: Ibe38ce78bb56902075f7c31f2eeeb93485b34be3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2469
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2021-02-19 23:04:04 +00:00
..
test-example feat(nix/readTree): add tests of the README example 2021-01-30 12:06:54 +00:00
test-tree-traversal feat(nix/readTree): add tests of the traversal logic in README 2021-01-30 12:06:54 +00:00
test-wrong-no-dots feat(nix/readTree): give better error message when not a function 2021-02-19 23:04:04 +00:00
test-wrong-not-a-function feat(nix/readTree): give better error message when not a function 2021-02-19 23:04:04 +00:00
.skip-subtree feat(nix/readTree): add tests of the README example 2021-01-30 12:06:54 +00:00
default.nix feat(nix/readTree): give better error message when not a function 2021-02-19 23:04:04 +00:00