summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2018-05-06 18:14:59 +0200
committerMichaël Zasso <targos@protonmail.com>2018-05-12 17:58:42 +0200
commitde34cfad585c056553530ce60d9c6bd62d66f5d8 (patch)
treec551a4923f1693de522813a55a5884a7dc10b9ba
parentde06115d18720755498fd871bccca837df024acb (diff)
downloadnode-new-de34cfad585c056553530ce60d9c6bd62d66f5d8.tar.gz
test: make sure linked lists are inspectable with defaults
Make sure that a long singly-linked list can be passed to `util.inspect()` without causing a stack overflow. PR-URL: https://github.com/nodejs/node/pull/20017 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
-rw-r--r--test/parallel/test-util-inspect.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/parallel/test-util-inspect.js b/test/parallel/test-util-inspect.js
index 5cd051299d..ad5f738a85 100644
--- a/test/parallel/test-util-inspect.js
+++ b/test/parallel/test-util-inspect.js
@@ -1404,3 +1404,15 @@ util.inspect(process);
const args = (function() { return arguments; })('a');
assert.strictEqual(util.inspect(args), "[Arguments] { '0': 'a' }");
}
+
+{
+ // Test that a long linked list can be inspected without throwing an error.
+ const list = {};
+ let head = list;
+ // The real cutoff value is closer to 1400 stack frames as of May 2018,
+ // but let's be generous here – even a linked listed of length 100k should be
+ // inspectable in some way.
+ for (let i = 0; i < 100000; i++)
+ head = head.next = {};
+ util.inspect(list);
+}