forked from lix-project/lix
add tests for nix eval and nix-instantiate
This commit is contained in:
parent
a5c969db49
commit
4f8ad41d4e
5
tests/eval.nix
Normal file
5
tests/eval.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
int = 123;
|
||||||
|
str = "foo";
|
||||||
|
attr.foo = "bar";
|
||||||
|
}
|
29
tests/eval.sh
Normal file
29
tests/eval.sh
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
source common.sh
|
||||||
|
|
||||||
|
clearStore
|
||||||
|
|
||||||
|
testStdinHeredoc=$(nix eval -f - <<EOF
|
||||||
|
{
|
||||||
|
bar = 3 + 1;
|
||||||
|
foo = 2 + 2;
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
)
|
||||||
|
[[ $testStdinHeredoc == '{ bar = 4; foo = 4; }' ]]
|
||||||
|
|
||||||
|
nix eval --expr 'assert 1 + 2 == 3; true'
|
||||||
|
|
||||||
|
[[ $(nix eval int -f "./eval.nix") == 123 ]]
|
||||||
|
[[ $(nix eval str -f "./eval.nix") == '"foo"' ]]
|
||||||
|
[[ $(nix eval str --raw -f "./eval.nix") == 'foo' ]]
|
||||||
|
[[ $(nix eval attr -f "./eval.nix") == '{ foo = "bar"; }' ]]
|
||||||
|
[[ $(nix eval attr --json -f "./eval.nix") == '{"foo":"bar"}' ]]
|
||||||
|
[[ $(nix eval int -f - < "./eval.nix") == 123 ]]
|
||||||
|
|
||||||
|
|
||||||
|
nix-instantiate --eval -E 'assert 1 + 2 == 3; true'
|
||||||
|
[[ $(nix-instantiate -A int --eval "./eval.nix") == 123 ]]
|
||||||
|
[[ $(nix-instantiate -A str --eval "./eval.nix") == '"foo"' ]]
|
||||||
|
[[ $(nix-instantiate -A attr --eval "./eval.nix") == '{ foo = "bar"; }' ]]
|
||||||
|
[[ $(nix-instantiate -A attr --eval --json "./eval.nix") == '{"foo":"bar"}' ]]
|
||||||
|
[[ $(nix-instantiate -A int --eval - < "./eval.nix") == 123 ]]
|
|
@ -52,6 +52,7 @@ nix_tests = \
|
||||||
build-remote-content-addressed-floating.sh \
|
build-remote-content-addressed-floating.sh \
|
||||||
nar-access.sh \
|
nar-access.sh \
|
||||||
pure-eval.sh \
|
pure-eval.sh \
|
||||||
|
eval.sh \
|
||||||
ca/post-hook.sh \
|
ca/post-hook.sh \
|
||||||
repl.sh \
|
repl.sh \
|
||||||
ca/repl.sh \
|
ca/repl.sh \
|
||||||
|
|
Loading…
Reference in a new issue