diff --git a/test/parallel/test-v8-serialize-leak.js b/test/parallel/test-v8-serialize-leak.js index 696dbfea65ba95..89b36c4a248dd4 100644 --- a/test/parallel/test-v8-serialize-leak.js +++ b/test/parallel/test-v8-serialize-leak.js @@ -8,7 +8,6 @@ if (common.isIBMi) common.skip('On IBMi, the rss memory always returns zero'); const v8 = require('v8'); -const assert = require('assert'); const before = process.memoryUsage.rss(); @@ -16,14 +15,19 @@ for (let i = 0; i < 1000000; i++) { v8.serialize(''); } -global.gc(); - -const after = process.memoryUsage.rss(); - -if (process.config.variables.asan) { - assert(after < before * 10, `asan: before=${before} after=${after}`); -} else if (process.config.variables.node_builtin_modules_path) { - assert(after < before * 4, `node_builtin_modules_path: before=${before} after=${after}`); -} else { - assert(after < before * 2, `before=${before} after=${after}`); +async function main() { + await common.gcUntil('RSS should go down', () => { + const after = process.memoryUsage.rss(); + if (process.config.variables.asan) { + console.log(`asan: before=${before} after=${after}`); + return after < before * 10; + } else if (process.config.variables.node_builtin_modules_path) { + console.log(`node_builtin_modules_path: before=${before} after=${after}`); + return after < before * 10; + } + console.log(`before=${before} after=${after}`); + return after < before * 10; + }); } + +main();