diff --git a/test/pummel/test-buffer-large-size-buffer-alloc-unsafe.js b/test/pummel/test-buffer-large-size-buffer-alloc-unsafe.js index 4002f60082d835..2aa1f0bccf4937 100644 --- a/test/pummel/test-buffer-large-size-buffer-alloc-unsafe.js +++ b/test/pummel/test-buffer-large-size-buffer-alloc-unsafe.js @@ -7,12 +7,22 @@ common.skipIf32Bits(); const assert = require('node:assert'); const size = 2 ** 31; +let largeBuffer; + +// Test Buffer.allocUnsafe with size larger than integer range try { - // Test Buffer.allocUnsafe with size larger than integer range - assert.throws(() => Buffer.allocUnsafe(size).toString('utf8'), { code: 'ERR_STRING_TOO_LONG' }); + largeBuffer = Buffer.allocUnsafe(size); } catch (e) { - if (e.code !== 'ERR_MEMORY_ALLOCATION_FAILED') { - throw e; + if ( + e.code === 'ERR_MEMORY_ALLOCATION_FAILED' || + /Array buffer allocation failed/.test(e.message) + ) { + common.skip('insufficient space for Buffer.allocUnsafe'); } - common.skip('insufficient space for Buffer.allocUnsafe'); + + throw e; } + +assert.throws(() => largeBuffer.toString('utf8'), { + code: 'ERR_STRING_TOO_LONG', +});