| 'use strict'; |
| |
| const common = require('../common'); |
| const initHooks = require('./init-hooks'); |
| const verifyGraph = require('./verify-graph'); |
| const TIMEOUT = 1; |
| |
| const hooks = initHooks(); |
| hooks.enable(); |
| |
| setTimeout(common.mustCall(ontimeout), TIMEOUT); |
| function ontimeout() { |
| setTimeout(onsecondTimeout, TIMEOUT + 1); |
| } |
| |
| function onsecondTimeout() { |
| setTimeout(onthirdTimeout, TIMEOUT + 2); |
| } |
| |
| function onthirdTimeout() {} |
| |
| 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' }, |
| { type: 'Timeout', id: 'timeout:3', triggerAsyncId: 'timeout:2' }] |
| ); |
| } |