1'use strict'; 2// Flags: --expose_gc 3 4// This test ensures that userland-only AsyncResources cause a destroy event to 5// be emitted when they get gced. 6 7const common = require('../common'); 8const async_hooks = require('async_hooks'); 9 10const hook = async_hooks.createHook({ 11 destroy: common.mustCallAtLeast(1) // only 1 immediate is destroyed 12}).enable(); 13 14new async_hooks.AsyncResource('foobar', { requireManualDestroy: true }); 15 16setImmediate(() => { 17 global.gc(); 18 setImmediate(() => { 19 hook.disable(); 20 }); 21}); 22