From 2ee4ed48c6c08348036d8d1d3011adf6ec102ecf Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 14 May 2016 23:02:18 -0700 Subject: [PATCH] test: add logging for test-debug-port-cluster The test is currently flaky and CI provides no real information because the test times out rather than failing on an assertion. Add logging to gather more information about the failure. Refs: https://github.com/nodejs/node/issues/6754 PR-URL: https://github.com/nodejs/node/pull/6769 Reviewed-By: Colin Ihrig --- test/parallel/test-debug-port-cluster.js | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/test/parallel/test-debug-port-cluster.js b/test/parallel/test-debug-port-cluster.js index 05e1627265b524..2f65ab05d688df 100644 --- a/test/parallel/test-debug-port-cluster.js +++ b/test/parallel/test-debug-port-cluster.js @@ -1,12 +1,12 @@ 'use strict'; -var common = require('../common'); -var assert = require('assert'); -var spawn = require('child_process').spawn; +const common = require('../common'); +const assert = require('assert'); +const spawn = require('child_process').spawn; const PORT_MIN = common.PORT + 1337; const PORT_MAX = PORT_MIN + 2; -var args = [ +const args = [ '--debug=' + PORT_MIN, common.fixturesDir + '/clustered-server/app.js' ]; @@ -14,14 +14,18 @@ var args = [ const child = spawn(process.execPath, args); child.stderr.setEncoding('utf8'); +const checkMessages = common.mustCall(() => { + for (let port = PORT_MIN; port <= PORT_MAX; port += 1) { + assert(stderr.includes(`Debugger listening on port ${port}`)); + } +}); + let stderr = ''; child.stderr.on('data', (data) => { + process.stderr.write(`[DATA] ${data}`); stderr += data; - if (child.killed !== true && stderr.includes('all workers are running')) + if (child.killed !== true && stderr.includes('all workers are running')) { child.kill(); -}); - -process.on('exit', () => { - for (let port = PORT_MIN; port <= PORT_MAX; port += 1) - assert(stderr.includes(`Debugger listening on port ${port}`)); + checkMessages(); + } });