aboutsummaryrefslogtreecommitdiff
path: root/tests/functional
diff options
context:
space:
mode:
Diffstat (limited to 'tests/functional')
-rw-r--r--tests/functional/lang/eval-fail-bad-string-interpolation-1.err.exp2
-rw-r--r--tests/functional/lang/eval-fail-bad-string-interpolation-3.err.exp2
-rw-r--r--tests/functional/lang/eval-fail-bad-string-interpolation-4.err.exp9
-rw-r--r--tests/functional/lang/eval-fail-bad-string-interpolation-4.nix9
4 files changed, 20 insertions, 2 deletions
diff --git a/tests/functional/lang/eval-fail-bad-string-interpolation-1.err.exp b/tests/functional/lang/eval-fail-bad-string-interpolation-1.err.exp
index b461b2e02..5ae53034d 100644
--- a/tests/functional/lang/eval-fail-bad-string-interpolation-1.err.exp
+++ b/tests/functional/lang/eval-fail-bad-string-interpolation-1.err.exp
@@ -5,4 +5,4 @@ error:
| ^
2|
- error: cannot coerce a function to a string
+ error: cannot coerce a function to a string: «lambda @ /pwd/lang/eval-fail-bad-string-interpolation-1.nix:1:4»
diff --git a/tests/functional/lang/eval-fail-bad-string-interpolation-3.err.exp b/tests/functional/lang/eval-fail-bad-string-interpolation-3.err.exp
index 95f4c2460..170a3d132 100644
--- a/tests/functional/lang/eval-fail-bad-string-interpolation-3.err.exp
+++ b/tests/functional/lang/eval-fail-bad-string-interpolation-3.err.exp
@@ -5,4 +5,4 @@ error:
| ^
2|
- error: cannot coerce a function to a string
+ error: cannot coerce a function to a string: «lambda @ /pwd/lang/eval-fail-bad-string-interpolation-3.nix:1:5»
diff --git a/tests/functional/lang/eval-fail-bad-string-interpolation-4.err.exp b/tests/functional/lang/eval-fail-bad-string-interpolation-4.err.exp
new file mode 100644
index 000000000..5119238d7
--- /dev/null
+++ b/tests/functional/lang/eval-fail-bad-string-interpolation-4.err.exp
@@ -0,0 +1,9 @@
+error:
+ … while evaluating a path segment
+ at /pwd/lang/eval-fail-bad-string-interpolation-4.nix:9:3:
+ 8| # The error message should not be too long.
+ 9| ''${pkgs}''
+ | ^
+ 10|
+
+ error: cannot coerce a set to a string: { a = { a = { a = { a = "ha"; b = "ha"; c = "ha"; d = "ha"; e = "ha"; f = "ha"; g = "ha"; h = "ha"; j = "ha"; }; «4294967295 attributes elided»}; «4294967294 attributes elided»}; «4294967293 attributes elided»}
diff --git a/tests/functional/lang/eval-fail-bad-string-interpolation-4.nix b/tests/functional/lang/eval-fail-bad-string-interpolation-4.nix
new file mode 100644
index 000000000..457b5f06a
--- /dev/null
+++ b/tests/functional/lang/eval-fail-bad-string-interpolation-4.nix
@@ -0,0 +1,9 @@
+let
+ # Basically a "billion laughs" attack, but toned down to simulated `pkgs`.
+ ha = x: y: { a = x y; b = x y; c = x y; d = x y; e = x y; f = x y; g = x y; h = x y; j = x y; };
+ has = ha (ha (ha (ha (x: x)))) "ha";
+ # A large structure that has already been evaluated.
+ pkgs = builtins.deepSeq has has;
+in
+# The error message should not be too long.
+''${pkgs}''