mirror of https://github.com/nodejs/node.git
28 lines
818 B
JavaScript
28 lines
818 B
JavaScript
'use strict';
|
|
// Flags: --expose-gc
|
|
|
|
const common = require('../../common');
|
|
const assert = require('assert');
|
|
const test = require(`./build/${common.buildType}/7_factory_wrap`);
|
|
const { gcUntil } = require('../../common/gc');
|
|
|
|
assert.strictEqual(test.finalizeCount, 0);
|
|
async function runGCTests() {
|
|
(() => {
|
|
const obj = test.createObject(10);
|
|
assert.strictEqual(obj.plusOne(), 11);
|
|
assert.strictEqual(obj.plusOne(), 12);
|
|
assert.strictEqual(obj.plusOne(), 13);
|
|
})();
|
|
await gcUntil('test 1', () => (test.finalizeCount === 1));
|
|
|
|
(() => {
|
|
const obj2 = test.createObject(20);
|
|
assert.strictEqual(obj2.plusOne(), 21);
|
|
assert.strictEqual(obj2.plusOne(), 22);
|
|
assert.strictEqual(obj2.plusOne(), 23);
|
|
})();
|
|
await gcUntil('test 2', () => (test.finalizeCount === 2));
|
|
}
|
|
runGCTests();
|