Skip to content

Commit 996a774

Browse files
authored
test: skip in test-buffer-tostring-rangeerror on allocation failure
If the buffer allocation fails due to insufficient memory, there is no point continue testing toString(). PR-URL: #58415 Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent 8287f67 commit 996a774

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

test/parallel/test-buffer-tostring-rangeerror.js

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,22 @@ const message = {
2323
code: 'ERR_STRING_TOO_LONG',
2424
name: 'Error',
2525
};
26-
assert.throws(() => Buffer(len).toString('utf8'), message);
27-
assert.throws(() => Buffer.allocUnsafeSlow(len).toString('utf8'), message);
28-
assert.throws(() => Buffer.alloc(len).toString('utf8'), message);
29-
assert.throws(() => Buffer.allocUnsafe(len).toString('utf8'), message);
30-
assert.throws(() => Buffer.allocUnsafeSlow(len).toString('utf8'), message);
26+
27+
function test(getBuffer) {
28+
let buf;
29+
try {
30+
buf = getBuffer();
31+
} catch (e) {
32+
// If the buffer allocation fails, we skip the test.
33+
if (e.code === 'ERR_MEMORY_ALLOCATION_FAILED' || /Array buffer allocation failed/.test(e.message)) {
34+
return;
35+
}
36+
}
37+
assert.throws(() => { buf.toString('utf8'); }, message);
38+
}
39+
40+
test(() => Buffer(len));
41+
test(() => Buffer.allocUnsafeSlow(len));
42+
test(() => Buffer.alloc(len));
43+
test(() => Buffer.allocUnsafe(len));
44+
test(() => Buffer.allocUnsafeSlow(len));

0 commit comments

Comments
 (0)