node/test/parallel/test-zlib-invalid-input-memory.js
tannal 0b6b2a4dc7
test: merge ongc and gcutil into gc.js
PR-URL: https://github.com/nodejs/node/pull/54355
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-08-29 08:49:52 +01:00

29 lines
793 B
JavaScript

// Flags: --expose-gc
'use strict';
const common = require('../common');
const { onGC } = require('../common/gc');
const assert = require('assert');
const zlib = require('zlib');
// Checks that, if a zlib context fails with an error, it can still be GC'ed:
// Refs: https://github.com/nodejs/node/issues/22705
const ongc = common.mustCall();
{
const input = Buffer.from('foobar');
const strm = zlib.createInflate();
strm.end(input);
strm.once('error', common.mustCall((err) => {
assert(err);
setImmediate(() => {
global.gc();
// Keep the event loop alive for seeing the async_hooks destroy hook
// we use for GC tracking...
// TODO(addaleax): This should maybe not be necessary?
setImmediate(() => {});
});
}));
onGC(strm, { ongc });
}