◐ Shell
clean mode source ↗

test: skip in test-buffer-tostring-rangeerror on allocation failure · nodejs/node@4c445a8

@@ -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(() => SlowBuffer(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(() => SlowBuffer(len));

42+

test(() => Buffer.alloc(len));

43+

test(() => Buffer.allocUnsafe(len));

44+

test(() => Buffer.allocUnsafeSlow(len));