mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
test: fix pummel/test-net-connect-memleak
* Run the garbage collector before creating the big array. It doesn't matter now but if in the future something in node.js core creates a lot of reclaimable garbage, that will break the test's expectation. * The first RSS check was being done too late. The garbage collector might have run before the check, throwing off the 'reclaimed memory' calculation. * Due to changes in how V8 represents the big array internally, the actual memory usage is just below 256 MB on x64. Update the test's expectation.
This commit is contained in:
1 parent
fc6f8a6943
commit
98db7babcc
1 file changed
+4
-2
@@ -28,9 +28,12 @@ var net = require('net');
|
||||
assert(typeof gc === 'function', 'Run this test with --expose-gc');
|
||||
net.createServer(function() {}).listen(common.PORT);
|
||||
|
||||
var before = 0;
|
||||
(function() {
|
||||
// 2**26 == 64M entries
|
||||
gc();
|
||||
for (var i = 0, junk = [0]; i < 26; ++i) junk = junk.concat(junk);
|
||||
before = process.memoryUsage().rss;
|
||||
|
||||
net.createConnection(common.PORT, '127.0.0.1', function() {
|
||||
assert(junk.length != 0); // keep reference alive
|
||||
@@ -40,11 +43,10 @@ net.createServer(function() {}).listen(common.PORT);
|
||||
})();
|
||||
|
||||
function done() {
|
||||
var before = process.memoryUsage().rss;
|
||||
gc();
|
||||
var after = process.memoryUsage().rss;
|
||||
var reclaimed = (before - after) / 1024;
|
||||
console.log('%d kB reclaimed', reclaimed);
|
||||
assert(reclaimed > 256 * 1024); // it's more like 512M on x64
|
||||
assert(reclaimed > 128 * 1024); // It's around 256 MB on x64.
|
||||
process.exit();
|
||||
}
|
||||
Reference in new issue
Block a user