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>
This commit is contained in:
Anna Henningsen 2018-05-06 18:14:59 +02:00 committed by Ruben Bridgewater
parent 849aaaeeb0
commit 5096e249e7
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762

View File

@ -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);
}