node/test/parallel/test-buffer-zero-fill-cli.js
Nikita Skovoroda 49d6026fd1
test: fix test-buffer-zero-fill-cli to be effective
PR-URL: https://github.com/nodejs/node/pull/60623
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2025-11-13 21:21:17 +00:00

40 lines
1.0 KiB
JavaScript

'use strict';
// Flags: --zero-fill-buffers
// when using --zero-fill-buffers, every Buffer
// instance must be zero filled upon creation
require('../common');
const { Buffer } = require('buffer');
const assert = require('assert');
function isZeroFilled(buf) {
for (const n of buf)
if (n > 0) return false;
return true;
}
// We have to consume the data from the pool as otherwise
// we would be testing what's in snapshot, which is zero-filled
// regardless of the flag presence, and we want to test the flag
for (let i = 0; i < 8; i++) {
assert(isZeroFilled(Buffer.allocUnsafe(1024)));
}
// This can be somewhat unreliable because the
// allocated memory might just already happen to
// contain all zeroes. The test is run multiple
// times to improve the reliability.
for (let i = 0; i < 50; i++) {
const bufs = [
Buffer.alloc(20),
Buffer.allocUnsafe(20),
Buffer.allocUnsafeSlow(20), // Heap
Buffer.allocUnsafeSlow(128), // Alloc
Buffer(20),
];
for (const buf of bufs) {
assert(isZeroFilled(buf));
}
}