mirror of
https://github.com/NixOS/nix
synced 2025-07-07 18:31:49 +02:00
* Remove ancient Fix tests.
* Add automated Nix expression language tests.
This commit is contained in:
parent
f09618b63a
commit
463e2817c5
32 changed files with 145 additions and 87 deletions
47
tests/lang.sh
Normal file
47
tests/lang.sh
Normal file
|
@ -0,0 +1,47 @@
|
|||
fail=0
|
||||
|
||||
for i in lang/parse-fail-*.nix; do
|
||||
echo "parsing $i (should fail)";
|
||||
i=$(basename $i .nix)
|
||||
if $TOP/src/nix-instantiate/nix-instantiate --parse-only - < lang/$i.nix; then
|
||||
echo "FAIL: $i shouldn't parse"
|
||||
fail=1
|
||||
fi
|
||||
done
|
||||
|
||||
for i in lang/parse-okay-*.nix; do
|
||||
echo "parsing $i (should succeed)";
|
||||
i=$(basename $i .nix)
|
||||
if ! $TOP/src/nix-instantiate/nix-instantiate --parse-only - < lang/$i.nix > lang/$i.ast; then
|
||||
echo "FAIL: $i should parse"
|
||||
fail=1
|
||||
fi
|
||||
if ! cmp lang/$i.ast lang/$i.exp; then
|
||||
echo "FAIL: parse tree of $i not as expected"
|
||||
fail=1
|
||||
fi
|
||||
done
|
||||
|
||||
for i in lang/eval-fail-*.nix; do
|
||||
echo "evaluating $i (should fail)";
|
||||
i=$(basename $i .nix)
|
||||
if $TOP/src/nix-instantiate/nix-instantiate --eval-only - < lang/$i.nix; then
|
||||
echo "FAIL: $i shouldn't evaluate"
|
||||
fail=1
|
||||
fi
|
||||
done
|
||||
|
||||
for i in lang/eval-okay-*.nix; do
|
||||
echo "evaluating $i (should succeed)";
|
||||
i=$(basename $i .nix)
|
||||
if ! $TOP/src/nix-instantiate/nix-instantiate --eval-only - < lang/$i.nix > lang/$i.out; then
|
||||
echo "FAIL: $i should evaluate"
|
||||
fail=1
|
||||
fi
|
||||
if ! cmp lang/$i.out lang/$i.exp; then
|
||||
echo "FAIL: evaluation result of $i not as expected"
|
||||
fail=1
|
||||
fi
|
||||
done
|
||||
|
||||
exit $fail
|
Loading…
Add table
Add a link
Reference in a new issue