aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/common.sh.in5
-rw-r--r--tests/dependencies.nix2
-rw-r--r--tests/lang.sh10
-rw-r--r--tests/lang/eval-okay-arithmetic.exp2
-rw-r--r--tests/lang/eval-okay-attrnames.exp2
-rw-r--r--tests/lang/eval-okay-attrs.exp2
-rw-r--r--tests/lang/eval-okay-attrs2.exp2
-rw-r--r--tests/lang/eval-okay-attrs3.exp2
-rw-r--r--tests/lang/eval-okay-autoargs.exp2
-rw-r--r--tests/lang/eval-okay-builtins.exp2
-rw-r--r--tests/lang/eval-okay-concat.exp2
-rw-r--r--tests/lang/eval-okay-context.exp2
-rw-r--r--tests/lang/eval-okay-empty-args.exp2
-rw-r--r--tests/lang/eval-okay-flatten.exp2
-rw-r--r--tests/lang/eval-okay-getenv.exp2
-rw-r--r--tests/lang/eval-okay-if.exp2
-rw-r--r--tests/lang/eval-okay-ind-string.exp2
-rw-r--r--tests/lang/eval-okay-let.exp2
-rw-r--r--tests/lang/eval-okay-list.exp2
-rw-r--r--tests/lang/eval-okay-listToAttrs.out1
-rw-r--r--tests/lang/eval-okay-listtoattrs.exp1
-rw-r--r--tests/lang/eval-okay-listtoattrs.nix (renamed from tests/lang/eval-okay-listToAttrs.nix)6
-rw-r--r--tests/lang/eval-okay-logic.exp2
-rw-r--r--tests/lang/eval-okay-map.exp2
-rw-r--r--tests/lang/eval-okay-new-let.exp2
-rw-r--r--tests/lang/eval-okay-pathexists.exp2
-rw-r--r--tests/lang/eval-okay-patterns.exp2
-rw-r--r--tests/lang/eval-okay-patterns.nix3
-rw-r--r--tests/lang/eval-okay-readfile.exp2
-rw-r--r--tests/lang/eval-okay-remove.exp2
-rw-r--r--tests/lang/eval-okay-scope-1.exp2
-rw-r--r--tests/lang/eval-okay-scope-2.exp2
-rw-r--r--tests/lang/eval-okay-scope-3.exp2
-rw-r--r--tests/lang/eval-okay-scope-4.exp2
-rw-r--r--tests/lang/eval-okay-scope-6.exp2
-rw-r--r--tests/lang/eval-okay-scope-7.exp2
-rw-r--r--tests/lang/eval-okay-string.exp2
-rw-r--r--tests/lang/eval-okay-substring.exp2
-rw-r--r--tests/lang/eval-okay-to-xml.exp1
-rw-r--r--tests/lang/eval-okay-toxml.exp2
-rw-r--r--tests/lang/eval-okay-toxml2.exp1
-rw-r--r--tests/lang/eval-okay-toxml2.nix (renamed from tests/lang/eval-okay-to-xml.nix)0
-rw-r--r--tests/lang/eval-okay-versions.exp2
-rw-r--r--tests/lang/eval-okay-with.exp2
-rw-r--r--tests/lang/eval-okay-xml.exp.xml16
-rw-r--r--tests/lang/parse-fail-dup-attrs-7.nix9
-rw-r--r--tests/lang/parse-okay-1.exp1
-rw-r--r--tests/lang/parse-okay-crlf.exp1
-rw-r--r--tests/lang/parse-okay-dup-attrs-5.nix (renamed from tests/lang/parse-fail-dup-attrs-5.nix)0
-rw-r--r--tests/lang/parse-okay-regression-20041027.exp1
-rw-r--r--tests/lang/parse-okay-subversion.exp1
-rw-r--r--tests/lang/parse-okay-url.exp1
52 files changed, 59 insertions, 69 deletions
diff --git a/tests/common.sh.in b/tests/common.sh.in
index 85dd3a389..b30bc44b5 100644
--- a/tests/common.sh.in
+++ b/tests/common.sh.in
@@ -30,7 +30,6 @@ export REAL_STORE_DIR=@storedir@
export NIX_BUILD_HOOK=
export PERL=perl
export TOP=$(pwd)/..
-export aterm_bin=@aterm_bin@
export bzip2_bin_test="@bzip2_bin_test@"
if test "${bzip2_bin_test:0:1}" != "/"; then
bzip2_bin_test=`pwd`/${bzip2_bin_test}
@@ -41,10 +40,6 @@ export xmlflags="@xmlflags@"
export xsltproc="@xsltproc@"
export SHELL="@shell@"
-# Hack to get "atdiff" to run on Cygwin (Windows looks for
-# DLLs in $PATH).
-export PATH=$aterm_bin/../lib:$PATH
-
export version=@version@
export system=@system@
diff --git a/tests/dependencies.nix b/tests/dependencies.nix
index a397e1ce4..00717ae98 100644
--- a/tests/dependencies.nix
+++ b/tests/dependencies.nix
@@ -9,7 +9,7 @@ let {
input2 = mkDerivation {
name = "dependencies-input-2";
- builder = ./. ~ "dependencies.builder2.sh";
+ builder = ./dependencies.builder2.sh;
};
body = mkDerivation {
diff --git a/tests/lang.sh b/tests/lang.sh
index 54f010763..fab8c6e0d 100644
--- a/tests/lang.sh
+++ b/tests/lang.sh
@@ -16,14 +16,10 @@ done
for i in lang/parse-okay-*.nix; do
echo "parsing $i (should succeed)";
i=$(basename $i .nix)
- if ! $nixinstantiate --parse-only - < lang/$i.nix > lang/$i.ast; then
+ if ! $nixinstantiate --parse-only - < lang/$i.nix > lang/$i.out; then
echo "FAIL: $i should parse"
fail=1
fi
- if ! $aterm_bin/atdiff 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
@@ -44,10 +40,10 @@ for i in lang/eval-okay-*.nix; do
if test -e lang/$i.flags; then
flags=$(cat lang/$i.flags)
fi
- if ! $nixinstantiate $flags --eval-only lang/$i.nix > lang/$i.out; then
+ if ! $nixinstantiate $flags --eval-only --strict lang/$i.nix > lang/$i.out; then
echo "FAIL: $i should evaluate"
fail=1
- elif ! $aterm_bin/atdiff lang/$i.out lang/$i.exp; then
+ elif ! diff lang/$i.out lang/$i.exp; then
echo "FAIL: evaluation result of $i not as expected"
fail=1
fi
diff --git a/tests/lang/eval-okay-arithmetic.exp b/tests/lang/eval-okay-arithmetic.exp
index 433cb1c9b..9c113c6f7 100644
--- a/tests/lang/eval-okay-arithmetic.exp
+++ b/tests/lang/eval-okay-arithmetic.exp
@@ -1 +1 @@
-Int(1275)
+1275
diff --git a/tests/lang/eval-okay-attrnames.exp b/tests/lang/eval-okay-attrnames.exp
index 98af99a0c..b4aa387e0 100644
--- a/tests/lang/eval-okay-attrnames.exp
+++ b/tests/lang/eval-okay-attrnames.exp
@@ -1 +1 @@
-Str("newxfoonewxy",[])
+"newxfoonewxy"
diff --git a/tests/lang/eval-okay-attrs.exp b/tests/lang/eval-okay-attrs.exp
index add36384d..45b0f829e 100644
--- a/tests/lang/eval-okay-attrs.exp
+++ b/tests/lang/eval-okay-attrs.exp
@@ -1 +1 @@
-Int(987) \ No newline at end of file
+987
diff --git a/tests/lang/eval-okay-attrs2.exp b/tests/lang/eval-okay-attrs2.exp
index add36384d..45b0f829e 100644
--- a/tests/lang/eval-okay-attrs2.exp
+++ b/tests/lang/eval-okay-attrs2.exp
@@ -1 +1 @@
-Int(987) \ No newline at end of file
+987
diff --git a/tests/lang/eval-okay-attrs3.exp b/tests/lang/eval-okay-attrs3.exp
index d2c7555c1..19de4fdf7 100644
--- a/tests/lang/eval-okay-attrs3.exp
+++ b/tests/lang/eval-okay-attrs3.exp
@@ -1 +1 @@
-Str("foo 22 80 itchyxac",[])
+"foo 22 80 itchyxac"
diff --git a/tests/lang/eval-okay-autoargs.exp b/tests/lang/eval-okay-autoargs.exp
index 3b12bdd5e..7a8391786 100644
--- a/tests/lang/eval-okay-autoargs.exp
+++ b/tests/lang/eval-okay-autoargs.exp
@@ -1 +1 @@
-Str("xyzzy!xyzzy!foobar",[])
+"xyzzy!xyzzy!foobar"
diff --git a/tests/lang/eval-okay-builtins.exp b/tests/lang/eval-okay-builtins.exp
index f4f3ba81a..0661686d6 100644
--- a/tests/lang/eval-okay-builtins.exp
+++ b/tests/lang/eval-okay-builtins.exp
@@ -1 +1 @@
-Path("/foo")
+/foo
diff --git a/tests/lang/eval-okay-concat.exp b/tests/lang/eval-okay-concat.exp
index 359ccef86..bb4bbd577 100644
--- a/tests/lang/eval-okay-concat.exp
+++ b/tests/lang/eval-okay-concat.exp
@@ -1 +1 @@
-List([Int(1),Int(2),Int(3),Int(4),Int(5),Int(6),Int(7),Int(8),Int(9)])
+[ 1 2 3 4 5 6 7 8 9 ]
diff --git a/tests/lang/eval-okay-context.exp b/tests/lang/eval-okay-context.exp
index 95a993654..2f535bdbc 100644
--- a/tests/lang/eval-okay-context.exp
+++ b/tests/lang/eval-okay-context.exp
@@ -1 +1 @@
-Str("foo eval-okay-context.nix bar",[])
+"foo eval-okay-context.nix bar"
diff --git a/tests/lang/eval-okay-empty-args.exp b/tests/lang/eval-okay-empty-args.exp
index c386bbc80..cb5537d5d 100644
--- a/tests/lang/eval-okay-empty-args.exp
+++ b/tests/lang/eval-okay-empty-args.exp
@@ -1 +1 @@
-Str("ab",[])
+"ab"
diff --git a/tests/lang/eval-okay-flatten.exp b/tests/lang/eval-okay-flatten.exp
index 50c91bee5..b979b2b8b 100644
--- a/tests/lang/eval-okay-flatten.exp
+++ b/tests/lang/eval-okay-flatten.exp
@@ -1 +1 @@
-Str("1234567",[])
+"1234567"
diff --git a/tests/lang/eval-okay-getenv.exp b/tests/lang/eval-okay-getenv.exp
index 7c3659b97..14e24d419 100644
--- a/tests/lang/eval-okay-getenv.exp
+++ b/tests/lang/eval-okay-getenv.exp
@@ -1 +1 @@
-Str("foobar",[])
+"foobar"
diff --git a/tests/lang/eval-okay-if.exp b/tests/lang/eval-okay-if.exp
index 8b99801d3..00750edc0 100644
--- a/tests/lang/eval-okay-if.exp
+++ b/tests/lang/eval-okay-if.exp
@@ -1 +1 @@
-Int(3) \ No newline at end of file
+3
diff --git a/tests/lang/eval-okay-ind-string.exp b/tests/lang/eval-okay-ind-string.exp
index b8d2f5b39..886219dcf 100644
--- a/tests/lang/eval-okay-ind-string.exp
+++ b/tests/lang/eval-okay-ind-string.exp
@@ -1 +1 @@
-Str("This is an indented multi-line string\nliteral. An amount of whitespace at\nthe start of each line matching the minimum\nindentation of all lines in the string\nliteral together will be removed. Thus,\nin this case four spaces will be\nstripped from each line, even though\n THIS LINE is indented six spaces.\n\nAlso, empty lines don't count in the\ndetermination of the indentation level (the\nprevious empty line has indentation 0, but\nit doesn't matter).\nIf the string starts with whitespace\n followed by a newline, it's stripped, but\n that's not the case here. Two spaces are\n stripped because of the \" \" at the start. \nThis line is indented\na bit further.\nAnti-quotations, like so, are\nalso allowed.\n The \\ is not special here.\n' can be followed by any character except another ', e.g. 'x'.\nLikewise for $, e.g. $$ or $varName.\nBut ' followed by ' is special, as is $ followed by {.\nIf you want them, use anti-quotations: '', ${.\n Tabs are not interpreted as whitespace (since we can't guess\n what tab settings are intended), so don't use them.\n\tThis line starts with a space and a tab, so only one\n space will be stripped from each line.\nAlso note that if the last line (just before the closing ' ')\nconsists only of whitespace, it's ignored. But here there is\nsome non-whitespace stuff, so the line isn't removed. \nThis shows a hacky way to preserve an empty line after the start.\nBut there's no reason to do so: you could just repeat the empty\nline.\n Similarly you can force an indentation level,\n in this case to 2 spaces. This works because the anti-quote\n is significant (not whitespace).\nstart on network-interfaces\n\nstart script\n\n rm -f /var/run/opengl-driver\n ln -sf 123 /var/run/opengl-driver\n\n rm -f /var/log/slim.log\n \nend script\n\nenv SLIM_CFGFILE=abc\nenv SLIM_THEMESDIR=def\nenv FONTCONFIG_FILE=/etc/fonts/fonts.conf \t\t\t\t# !!! cleanup\nenv XKB_BINDIR=foo/bin \t\t\t\t# Needed for the Xkb extension.\nenv LD_LIBRARY_PATH=libX11/lib:libXext/lib:/usr/lib/ # related to xorg-sys-opengl - needed to load libglx for (AI)GLX support (for compiz)\n\nenv XORG_DRI_DRIVER_PATH=nvidiaDrivers/X11R6/lib/modules/drivers/ \n\nexec slim/bin/slim\nEscaping of ' followed by ': ''\nEscaping of $ followed by {: ${\nAnd finally to interpret \\n etc. as in a string: \n, \r, \t.\nfoo\n'bla'\nbar\n",[])
+"This is an indented multi-line string\nliteral. An amount of whitespace at\nthe start of each line matching the minimum\nindentation of all lines in the string\nliteral together will be removed. Thus,\nin this case four spaces will be\nstripped from each line, even though\n THIS LINE is indented six spaces.\n\nAlso, empty lines don't count in the\ndetermination of the indentation level (the\nprevious empty line has indentation 0, but\nit doesn't matter).\nIf the string starts with whitespace\n followed by a newline, it's stripped, but\n that's not the case here. Two spaces are\n stripped because of the \" \" at the start. \nThis line is indented\na bit further.\nAnti-quotations, like so, are\nalso allowed.\n The \\ is not special here.\n' can be followed by any character except another ', e.g. 'x'.\nLikewise for $, e.g. $$ or $varName.\nBut ' followed by ' is special, as is $ followed by {.\nIf you want them, use anti-quotations: '', ${.\n Tabs are not interpreted as whitespace (since we can't guess\n what tab settings are intended), so don't use them.\n\tThis line starts with a space and a tab, so only one\n space will be stripped from each line.\nAlso note that if the last line (just before the closing ' ')\nconsists only of whitespace, it's ignored. But here there is\nsome non-whitespace stuff, so the line isn't removed. \nThis shows a hacky way to preserve an empty line after the start.\nBut there's no reason to do so: you could just repeat the empty\nline.\n Similarly you can force an indentation level,\n in this case to 2 spaces. This works because the anti-quote\n is significant (not whitespace).\nstart on network-interfaces\n\nstart script\n\n rm -f /var/run/opengl-driver\n ln -sf 123 /var/run/opengl-driver\n\n rm -f /var/log/slim.log\n \nend script\n\nenv SLIM_CFGFILE=abc\nenv SLIM_THEMESDIR=def\nenv FONTCONFIG_FILE=/etc/fonts/fonts.conf \t\t\t\t# !!! cleanup\nenv XKB_BINDIR=foo/bin \t\t\t\t# Needed for the Xkb extension.\nenv LD_LIBRARY_PATH=libX11/lib:libXext/lib:/usr/lib/ # related to xorg-sys-opengl - needed to load libglx for (AI)GLX support (for compiz)\n\nenv XORG_DRI_DRIVER_PATH=nvidiaDrivers/X11R6/lib/modules/drivers/ \n\nexec slim/bin/slim\nEscaping of ' followed by ': ''\nEscaping of $ followed by {: ${\nAnd finally to interpret \\n etc. as in a string: \n, \r, \t.\nfoo\n'bla'\nbar\n"
diff --git a/tests/lang/eval-okay-let.exp b/tests/lang/eval-okay-let.exp
index 7c3659b97..14e24d419 100644
--- a/tests/lang/eval-okay-let.exp
+++ b/tests/lang/eval-okay-let.exp
@@ -1 +1 @@
-Str("foobar",[])
+"foobar"
diff --git a/tests/lang/eval-okay-list.exp b/tests/lang/eval-okay-list.exp
index b9cad67dd..f784f26d8 100644
--- a/tests/lang/eval-okay-list.exp
+++ b/tests/lang/eval-okay-list.exp
@@ -1 +1 @@
-Str("foobarblatest",[])
+"foobarblatest"
diff --git a/tests/lang/eval-okay-listToAttrs.out b/tests/lang/eval-okay-listToAttrs.out
deleted file mode 100644
index 4e779ff06..000000000
--- a/tests/lang/eval-okay-listToAttrs.out
+++ /dev/null
@@ -1 +0,0 @@
-List([Attrs([Bind("a",Str("A",[]),NoPos),Bind("b",Str("B",[]),NoPos)]),Attrs([Bind("a",Str("A",[]),NoPos),Bind("b",Str("B",[]),NoPos)])])
diff --git a/tests/lang/eval-okay-listtoattrs.exp b/tests/lang/eval-okay-listtoattrs.exp
new file mode 100644
index 000000000..11d29b588
--- /dev/null
+++ b/tests/lang/eval-okay-listtoattrs.exp
@@ -0,0 +1 @@
+"AA"
diff --git a/tests/lang/eval-okay-listToAttrs.nix b/tests/lang/eval-okay-listtoattrs.nix
index f5eae92cc..d5cd726b0 100644
--- a/tests/lang/eval-okay-listToAttrs.nix
+++ b/tests/lang/eval-okay-listtoattrs.nix
@@ -1,8 +1,10 @@
# this test shows how to use listToAttrs and that evaluation is still lazy (throw isn't called)
+with import ./lib.nix;
+
let
- asi = attr: value : { inherit attr value; };
+ asi = name: value : { inherit name value; };
list = [ ( asi "a" "A" ) ( asi "b" "B" ) ];
a = builtins.listToAttrs list;
b = builtins.listToAttrs ( list ++ list );
r = builtins.listToAttrs [ (asi "result" [ a b ]) ( asi "throw" (throw "this should not be thrown")) ];
-in r.result
+in concat (map (x: x.a) r.result)
diff --git a/tests/lang/eval-okay-logic.exp b/tests/lang/eval-okay-logic.exp
index f1161b8d5..d00491fd7 100644
--- a/tests/lang/eval-okay-logic.exp
+++ b/tests/lang/eval-okay-logic.exp
@@ -1 +1 @@
-Int(1) \ No newline at end of file
+1
diff --git a/tests/lang/eval-okay-map.exp b/tests/lang/eval-okay-map.exp
index 2d9456dc0..dbb64f717 100644
--- a/tests/lang/eval-okay-map.exp
+++ b/tests/lang/eval-okay-map.exp
@@ -1 +1 @@
-Str("foobarblabarxyzzybar",[])
+"foobarblabarxyzzybar"
diff --git a/tests/lang/eval-okay-new-let.exp b/tests/lang/eval-okay-new-let.exp
index f10a34e71..f98b38807 100644
--- a/tests/lang/eval-okay-new-let.exp
+++ b/tests/lang/eval-okay-new-let.exp
@@ -1 +1 @@
-Str("xyzzyfoobar",[])
+"xyzzyfoobar"
diff --git a/tests/lang/eval-okay-pathexists.exp b/tests/lang/eval-okay-pathexists.exp
index 2015847b6..27ba77dda 100644
--- a/tests/lang/eval-okay-pathexists.exp
+++ b/tests/lang/eval-okay-pathexists.exp
@@ -1 +1 @@
-Bool(True)
+true
diff --git a/tests/lang/eval-okay-patterns.exp b/tests/lang/eval-okay-patterns.exp
index 8422900dd..a4304010f 100644
--- a/tests/lang/eval-okay-patterns.exp
+++ b/tests/lang/eval-okay-patterns.exp
@@ -1 +1 @@
-Str("abcxyzDDDDEFghijk",[])
+"abcxyzDDDDEFijk"
diff --git a/tests/lang/eval-okay-patterns.nix b/tests/lang/eval-okay-patterns.nix
index c233c406c..96fd25a01 100644
--- a/tests/lang/eval-okay-patterns.nix
+++ b/tests/lang/eval-okay-patterns.nix
@@ -6,8 +6,6 @@ let
h = {x ? "d", y ? x, z ? args.x}@args: x + y + z;
- i = args@args2: args.x + args2.y;
-
j = {x, y, z, ...}: x + y + z;
in
@@ -15,5 +13,4 @@ in
g {x = "x"; y = "y"; z = "z";} +
h {x = "D";} +
h {x = "D"; y = "E"; z = "F";} +
- i {x = "g"; y = "h";} +
j {x = "i"; y = "j"; z = "k"; bla = "bla"; foo = "bar";}
diff --git a/tests/lang/eval-okay-readfile.exp b/tests/lang/eval-okay-readfile.exp
index 979771c7a..a2c87d0c4 100644
--- a/tests/lang/eval-okay-readfile.exp
+++ b/tests/lang/eval-okay-readfile.exp
@@ -1 +1 @@
-Str("builtins.readFile ./eval-okay-readfile.nix\n",[])
+"builtins.readFile ./eval-okay-readfile.nix\n"
diff --git a/tests/lang/eval-okay-remove.exp b/tests/lang/eval-okay-remove.exp
index e22e6b1b2..8d38505c1 100644
--- a/tests/lang/eval-okay-remove.exp
+++ b/tests/lang/eval-okay-remove.exp
@@ -1 +1 @@
-Int(456)
+456
diff --git a/tests/lang/eval-okay-scope-1.exp b/tests/lang/eval-okay-scope-1.exp
index 7da0e4219..00750edc0 100644
--- a/tests/lang/eval-okay-scope-1.exp
+++ b/tests/lang/eval-okay-scope-1.exp
@@ -1 +1 @@
-Int(3)
+3
diff --git a/tests/lang/eval-okay-scope-2.exp b/tests/lang/eval-okay-scope-2.exp
index 067d2b746..d00491fd7 100644
--- a/tests/lang/eval-okay-scope-2.exp
+++ b/tests/lang/eval-okay-scope-2.exp
@@ -1 +1 @@
-Int(1)
+1
diff --git a/tests/lang/eval-okay-scope-3.exp b/tests/lang/eval-okay-scope-3.exp
index 65c1faee2..b8626c4cf 100644
--- a/tests/lang/eval-okay-scope-3.exp
+++ b/tests/lang/eval-okay-scope-3.exp
@@ -1 +1 @@
-Int(4)
+4
diff --git a/tests/lang/eval-okay-scope-4.exp b/tests/lang/eval-okay-scope-4.exp
index ea9580603..00ff03a46 100644
--- a/tests/lang/eval-okay-scope-4.exp
+++ b/tests/lang/eval-okay-scope-4.exp
@@ -1 +1 @@
-Str("ccdd",[])
+"ccdd"
diff --git a/tests/lang/eval-okay-scope-6.exp b/tests/lang/eval-okay-scope-6.exp
index ea9580603..00ff03a46 100644
--- a/tests/lang/eval-okay-scope-6.exp
+++ b/tests/lang/eval-okay-scope-6.exp
@@ -1 +1 @@
-Str("ccdd",[])
+"ccdd"
diff --git a/tests/lang/eval-okay-scope-7.exp b/tests/lang/eval-okay-scope-7.exp
index 067d2b746..d00491fd7 100644
--- a/tests/lang/eval-okay-scope-7.exp
+++ b/tests/lang/eval-okay-scope-7.exp
@@ -1 +1 @@
-Int(1)
+1
diff --git a/tests/lang/eval-okay-string.exp b/tests/lang/eval-okay-string.exp
index 8249c7c8d..607920247 100644
--- a/tests/lang/eval-okay-string.exp
+++ b/tests/lang/eval-okay-string.exp
@@ -1 +1 @@
-Str("foobar/a/b/c/d/foo/xyzzy/foo.txt/../foo/x/yescape: \"quote\" \n \\end\nof\nlinefoobarblaatfoo$bar",[])
+"foobar/a/b/c/d/foo/xyzzy/foo.txt/../foo/x/yescape: \"quote\" \n \\end\nof\nlinefoobarblaatfoo$bar"
diff --git a/tests/lang/eval-okay-substring.exp b/tests/lang/eval-okay-substring.exp
index d6098476b..d936b7e96 100644
--- a/tests/lang/eval-okay-substring.exp
+++ b/tests/lang/eval-okay-substring.exp
@@ -1 +1 @@
-Str("ooxfoobarybarzobaabb",[])
+"ooxfoobarybarzobaabb"
diff --git a/tests/lang/eval-okay-to-xml.exp b/tests/lang/eval-okay-to-xml.exp
deleted file mode 100644
index 0a4d1884e..000000000
--- a/tests/lang/eval-okay-to-xml.exp
+++ /dev/null
@@ -1 +0,0 @@
-Str("<?xml version='1.0' encoding='utf-8'?>\n<expr>\n <list>\n <string value=\"ab\" />\n <int value=\"10\" />\n <attrs>\n <attr name=\"x\">\n <string value=\"x\" />\n </attr>\n <attr name=\"y\">\n <string value=\"x\" />\n </attr>\n </attrs>\n </list>\n</expr>\n",[])
diff --git a/tests/lang/eval-okay-toxml.exp b/tests/lang/eval-okay-toxml.exp
index 379f3c076..828220890 100644
--- a/tests/lang/eval-okay-toxml.exp
+++ b/tests/lang/eval-okay-toxml.exp
@@ -1 +1 @@
-Str("<?xml version='1.0' encoding='utf-8'?>\n<expr>\n <attrs>\n <attr name=\"a\">\n <string value=\"s\" />\n </attr>\n </attrs>\n</expr>\n",[])
+"<?xml version='1.0' encoding='utf-8'?>\n<expr>\n <attrs>\n <attr name=\"a\">\n <string value=\"s\" />\n </attr>\n </attrs>\n</expr>\n"
diff --git a/tests/lang/eval-okay-toxml2.exp b/tests/lang/eval-okay-toxml2.exp
new file mode 100644
index 000000000..634a841eb
--- /dev/null
+++ b/tests/lang/eval-okay-toxml2.exp
@@ -0,0 +1 @@
+"<?xml version='1.0' encoding='utf-8'?>\n<expr>\n <list>\n <string value=\"ab\" />\n <int value=\"10\" />\n <attrs>\n <attr name=\"x\">\n <string value=\"x\" />\n </attr>\n <attr name=\"y\">\n <string value=\"x\" />\n </attr>\n </attrs>\n </list>\n</expr>\n"
diff --git a/tests/lang/eval-okay-to-xml.nix b/tests/lang/eval-okay-toxml2.nix
index ff1791b30..ff1791b30 100644
--- a/tests/lang/eval-okay-to-xml.nix
+++ b/tests/lang/eval-okay-toxml2.nix
diff --git a/tests/lang/eval-okay-versions.exp b/tests/lang/eval-okay-versions.exp
index 2015847b6..27ba77dda 100644
--- a/tests/lang/eval-okay-versions.exp
+++ b/tests/lang/eval-okay-versions.exp
@@ -1 +1 @@
-Bool(True)
+true
diff --git a/tests/lang/eval-okay-with.exp b/tests/lang/eval-okay-with.exp
index 2c9bd8ba0..378c8dc80 100644
--- a/tests/lang/eval-okay-with.exp
+++ b/tests/lang/eval-okay-with.exp
@@ -1 +1 @@
-Str("xyzzybarxyzzybar",[])
+"xyzzybarxyzzybar"
diff --git a/tests/lang/eval-okay-xml.exp.xml b/tests/lang/eval-okay-xml.exp.xml
index 72a96d54c..f124f939e 100644
--- a/tests/lang/eval-okay-xml.exp.xml
+++ b/tests/lang/eval-okay-xml.exp.xml
@@ -6,14 +6,11 @@
</attr>
<attr name="at">
<function>
- <at>
- <varpat name="args" />
- <attrspat>
- <attr name="x" />
- <attr name="y" />
- <attr name="z" />
- </attrspat>
- </at>
+ <attrspat name="args">
+ <attr name="x" />
+ <attr name="y" />
+ <attr name="z" />
+ </attrspat>
</function>
</attr>
<attr name="b">
@@ -24,11 +21,10 @@
</attr>
<attr name="ellipsis">
<function>
- <attrspat>
+ <attrspat ellipsis="1">
<attr name="x" />
<attr name="y" />
<attr name="z" />
- <ellipsis />
</attrspat>
</function>
</attr>
diff --git a/tests/lang/parse-fail-dup-attrs-7.nix b/tests/lang/parse-fail-dup-attrs-7.nix
new file mode 100644
index 000000000..bbc3eb08c
--- /dev/null
+++ b/tests/lang/parse-fail-dup-attrs-7.nix
@@ -0,0 +1,9 @@
+rec {
+
+ x = 1;
+
+ as = {
+ inherit x;
+ inherit x;
+ };
+} \ No newline at end of file
diff --git a/tests/lang/parse-okay-1.exp b/tests/lang/parse-okay-1.exp
deleted file mode 100644
index bb8746ec4..000000000
--- a/tests/lang/parse-okay-1.exp
+++ /dev/null
@@ -1 +0,0 @@
-Function(AttrsPat([Formal("x",NoDefaultValue),Formal("y",NoDefaultValue),Formal("z",NoDefaultValue)],Bool(False)),OpPlus(OpPlus(Var("x"),Var("y")),Var("z")),NoPos)
diff --git a/tests/lang/parse-okay-crlf.exp b/tests/lang/parse-okay-crlf.exp
deleted file mode 100644
index 7d4d9e387..000000000
--- a/tests/lang/parse-okay-crlf.exp
+++ /dev/null
@@ -1 +0,0 @@
-Rec([Bind("x",Var("y"),NoPos),Bind("y",Int(123),NoPos),Bind("foo",Str("multi\nline\n string\n test\r",[]),NoPos),Bind("z",Int(456),NoPos)],[])
diff --git a/tests/lang/parse-fail-dup-attrs-5.nix b/tests/lang/parse-okay-dup-attrs-5.nix
index f4b9efd0c..f4b9efd0c 100644
--- a/tests/lang/parse-fail-dup-attrs-5.nix
+++ b/tests/lang/parse-okay-dup-attrs-5.nix
diff --git a/tests/lang/parse-okay-regression-20041027.exp b/tests/lang/parse-okay-regression-20041027.exp
deleted file mode 100644
index a302e2488..000000000
--- a/tests/lang/parse-okay-regression-20041027.exp
+++ /dev/null
@@ -1 +0,0 @@
-Function(AttrsPat([Formal("stdenv",NoDefaultValue),Formal("fetchurl",NoDefaultValue)],Bool(False)),Call(Select(Var("stdenv"),"mkDerivation"),Attrs([Bind("name",Str("libXi-6.0.1",[]),NoPos),Bind("src",Call(Var("fetchurl"),Attrs([Bind("md5",Str("7e935a42428d63a387b3c048be0f2756",[]),NoPos),Bind("url",Str("http://freedesktop.org/~xlibs/release/libXi-6.0.1.tar.bz2",[]),NoPos)])),NoPos)])),NoPos)
diff --git a/tests/lang/parse-okay-subversion.exp b/tests/lang/parse-okay-subversion.exp
deleted file mode 100644
index 102153c18..000000000
--- a/tests/lang/parse-okay-subversion.exp
+++ /dev/null
@@ -1 +0,0 @@
-Function(AttrsPat([Formal("localServer",DefaultValue(Var("false"))),Formal("httpServer",DefaultValue(Var("false"))),Formal("sslSupport",DefaultValue(Var("false"))),Formal("pythonBindings",DefaultValue(Var("false"))),Formal("javaSwigBindings",DefaultValue(Var("false"))),Formal("javahlBindings",DefaultValue(Var("false"))),Formal("stdenv",NoDefaultValue),Formal("fetchurl",NoDefaultValue),Formal("openssl",DefaultValue(Var("null"))),Formal("httpd",DefaultValue(Var("null"))),Formal("db4",DefaultValue(Var("null"))),Formal("expat",NoDefaultValue),Formal("swig",DefaultValue(Var("null"))),Formal("j2sdk",DefaultValue(Var("null")))],Bool(False)),Assert(OpNEq(Var("expat"),Var("null")),Assert(OpImpl(Var("localServer"),OpNEq(Var("db4"),Var("null"))),Assert(OpImpl(Var("httpServer"),OpAnd(OpNEq(Var("httpd"),Var("null")),OpEq(Select(Var("httpd"),"expat"),Var("expat")))),Assert(OpImpl(Var("sslSupport"),OpAnd(OpNEq(Var("openssl"),Var("null")),OpImpl(Var("httpServer"),OpEq(Select(Var("httpd"),"openssl"),Var("openssl"))))),Assert(OpImpl(Var("pythonBindings"),OpAnd(OpNEq(Var("swig"),Var("null")),Select(Var("swig"),"pythonSupport"))),Assert(OpImpl(Var("javaSwigBindings"),OpAnd(OpNEq(Var("swig"),Var("null")),Select(Var("swig"),"javaSupport"))),Assert(OpImpl(Var("javahlBindings"),OpNEq(Var("j2sdk"),Var("null"))),Call(Select(Var("stdenv"),"mkDerivation"),Attrs([Bind("builder",Path("/foo/bar"),NoPos),Bind("db4",If(Var("localServer"),Var("db4"),Var("null")),NoPos),Bind("expat",Var("expat"),NoPos),Bind("httpServer",Var("httpServer"),NoPos),Bind("httpd",If(Var("httpServer"),Var("httpd"),Var("null")),NoPos),Bind("j2sdk",If(Var("javaSwigBindings"),Select(Var("swig"),"j2sdk"),If(Var("javahlBindings"),Var("j2sdk"),Var("null"))),NoPos),Bind("javaSwigBindings",Var("javaSwigBindings"),NoPos),Bind("javahlBindings",Var("javahlBindings"),NoPos),Bind("localServer",Var("localServer"),NoPos),Bind("name",Str("subversion-1.1.1",[]),NoPos),Bind("openssl",If(Var("sslSupport"),Var("openssl"),Var("null")),NoPos),Bind("patches",If(Var("javahlBindings"),List([Path("/javahl.patch")]),List([])),NoPos),Bind("python",If(Var("pythonBindings"),Select(Var("swig"),"python"),Var("null")),NoPos),Bind("pythonBindings",Var("pythonBindings"),NoPos),Bind("src",Call(Var("fetchurl"),Attrs([Bind("md5",Str("a180c3fe91680389c210c99def54d9e0",[]),NoPos),Bind("url",Str("http://subversion.tigris.org/tarballs/subversion-1.1.1.tar.bz2",[]),NoPos)])),NoPos),Bind("sslSupport",Var("sslSupport"),NoPos),Bind("swig",If(OpOr(Var("pythonBindings"),Var("javaSwigBindings")),Var("swig"),Var("null")),NoPos)])),NoPos),NoPos),NoPos),NoPos),NoPos),NoPos),NoPos),NoPos)
diff --git a/tests/lang/parse-okay-url.exp b/tests/lang/parse-okay-url.exp
deleted file mode 100644
index 2aa22c379..000000000
--- a/tests/lang/parse-okay-url.exp
+++ /dev/null
@@ -1 +0,0 @@
-List([Str("x:x",[]),Str("https://svn.cs.uu.nl:12443/repos/trace/trunk",[]),Str("http://www2.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-1.tar.bz2",[]),Str("http://losser.st-lab.cs.uu.nl/~armijn/.nix/gcc-3.3.4-static-nix.tar.gz",[]),Str("http://fpdownload.macromedia.com/get/shockwave/flash/english/linux/7.0r25/install_flash_player_7_linux.tar.gz",[]),Str("ftp://ftp.gtk.org/pub/gtk/v1.2/gtk+-1.2.10.tar.gz",[])])