forked from lix-project/lix
* Test for `nix-instantiate --eval-only --xml'.
This commit is contained in:
parent
24e234a2fa
commit
4874fd2d9a
|
@ -44,6 +44,17 @@ for i in lang/eval-okay-*.nix; do
|
|||
echo "FAIL: evaluation result of $i not as expected"
|
||||
fail=1
|
||||
fi
|
||||
|
||||
if test -e lang/$i.exp.xml; then
|
||||
if ! $nixinstantiate --eval-only --xml --strict - < lang/$i.nix > lang/$i.out.xml; then
|
||||
echo "FAIL: $i should evaluate"
|
||||
fail=1
|
||||
fi
|
||||
if ! cmp -s lang/$i.out.xml lang/$i.exp.xml; then
|
||||
echo "FAIL: XML evaluation result of $i not as expected"
|
||||
fail=1
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
exit $fail
|
||||
exit $fail
|
||||
|
|
1
tests/lang/eval-okay-xml.exp
Normal file
1
tests/lang/eval-okay-xml.exp
Normal file
|
@ -0,0 +1 @@
|
|||
Attrs([Bind("c",OpPlus(Str("foo"),Str("bar")),Pos("(string)",9,4)),Bind("b",Str("bar"),Pos("(string)",7,4)),Bind("x",Int(123),Pos("(string)",3,4)),Bind("f",Function([Formal("z",UnrestrictedValues,NoDefaultValue),Formal("x",ValidValues([Str("a"),Str("b"),OpPlus(Str("c"),Str("d"))]),NoDefaultValue),Formal("y",ValidValues([Var("true"),Var("false")]),NoDefaultValue)],If(Var("y"),Var("x"),Var("z")),Pos("(string)",11,8)),Pos("(string)",11,4)),Bind("a",Str("foo"),Pos("(string)",5,4))])
|
42
tests/lang/eval-okay-xml.exp.xml
Normal file
42
tests/lang/eval-okay-xml.exp.xml
Normal file
|
@ -0,0 +1,42 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<expr>
|
||||
<attrs>
|
||||
<attr name="a">
|
||||
<string value="foo" />
|
||||
</attr>
|
||||
<attr name="b">
|
||||
<string value="bar" />
|
||||
</attr>
|
||||
<attr name="c">
|
||||
<string value="foobar" />
|
||||
</attr>
|
||||
<attr name="f">
|
||||
<function>
|
||||
<arg name="z">
|
||||
</arg>
|
||||
<arg name="x">
|
||||
<value>
|
||||
<string value="a" />
|
||||
</value>
|
||||
<value>
|
||||
<string value="b" />
|
||||
</value>
|
||||
<value>
|
||||
<string value="cd" />
|
||||
</value>
|
||||
</arg>
|
||||
<arg name="y">
|
||||
<value>
|
||||
<bool value="true" />
|
||||
</value>
|
||||
<value>
|
||||
<bool value="false" />
|
||||
</value>
|
||||
</arg>
|
||||
</function>
|
||||
</attr>
|
||||
<attr name="x">
|
||||
<int value="123" />
|
||||
</attr>
|
||||
</attrs>
|
||||
</expr>
|
13
tests/lang/eval-okay-xml.nix
Normal file
13
tests/lang/eval-okay-xml.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
rec {
|
||||
|
||||
x = 123;
|
||||
|
||||
a = "foo";
|
||||
|
||||
b = "bar";
|
||||
|
||||
c = "foo" + "bar";
|
||||
|
||||
f = {z, x : ["a" "b" ("c" + "d")], y : [true false]}: if y then x else z;
|
||||
|
||||
}
|
Loading…
Reference in a new issue