'use strict'; const common = require('../common'); const initHooks = require('./init-hooks'); const verifyGraph = require('./verify-graph'); const TIMEOUT = 1; const hooks = initHooks(); hooks.enable(); let count = 0; const iv1 = setInterval(common.mustCall(onfirstInterval, 3), TIMEOUT); let iv2; function onfirstInterval() { if (++count === 3) { clearInterval(iv1); iv2 = setInterval(common.mustCall(onsecondInterval, 1), TIMEOUT + 1); } } function onsecondInterval() { clearInterval(iv2); } process.on('exit', onexit); function onexit() { hooks.disable(); verifyGraph( hooks, [ { type: 'Timeout', id: 'timeout:1', triggerAsyncId: null }, { type: 'Timeout', id: 'timeout:2', triggerAsyncId: 'timeout:1' }] ); }