From f5a1e6cbc4039f0727880f39f0349aa63a9573d3 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 6 Dec 2017 14:57:13 -0800 Subject: [PATCH] test: fix flaky async-hooks/test-graph.signal Make sure event loop remains open long enough for signal to be received. PR-URL: https://github.com/nodejs/node/pull/17509 Fixes: https://github.com/nodejs/node/issues/14568 Reviewed-By: Colin Ihrig Reviewed-By: Richard Lau Reviewed-By: Refael Ackermann Reviewed-By: Evan Lucas --- test/async-hooks/test-graph.signal.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/test/async-hooks/test-graph.signal.js b/test/async-hooks/test-graph.signal.js index 92334b98268840..770fe00da4b4a6 100644 --- a/test/async-hooks/test-graph.signal.js +++ b/test/async-hooks/test-graph.signal.js @@ -3,16 +3,16 @@ const common = require('../common'); if (common.isWindows) { common.skip('no signals on Windows'); - return; } const initHooks = require('./init-hooks'); const verifyGraph = require('./verify-graph'); -const exec = require('child_process').exec; +const { exec } = require('child_process'); const hooks = initHooks(); hooks.enable(); +const interval = setInterval(() => {}, 9999); // keep event loop open process.on('SIGUSR2', common.mustCall(onsigusr2, 2)); let count = 0; @@ -33,7 +33,9 @@ function onsigusr2() { } } -function onsigusr2Again() {} +function onsigusr2Again() { + clearInterval(interval); // let the event loop close +} process.on('exit', onexit);