From 448b0c0afcd87f93aab8b863dcaf463827814ad5 Mon Sep 17 00:00:00 2001 From: Gireesh Punathil Date: Fri, 8 Feb 2019 07:52:02 -0500 Subject: test: capture stderr from child processes If the test fails with errors from the child commands, there is no debug info. Suppliment the stderr data so that we know what to look for. Refs: https://github.com/nodejs/node/issues/25988 PR-URL: https://github.com/nodejs/node/pull/26007 Reviewed-By: Anna Henningsen Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig --- test/parallel/test-child-process-pipe-dataflow.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'test') diff --git a/test/parallel/test-child-process-pipe-dataflow.js b/test/parallel/test-child-process-pipe-dataflow.js index 501fb29032..f5068b5d36 100644 --- a/test/parallel/test-child-process-pipe-dataflow.js +++ b/test/parallel/test-child-process-pipe-dataflow.js @@ -33,19 +33,17 @@ const MB = KB * KB; grep = spawn('grep', ['x'], { stdio: [cat.stdout, 'pipe', 'pipe'] }); wc = spawn('wc', ['-c'], { stdio: [grep.stdout, 'pipe', 'pipe'] }); + [cat, grep, wc].forEach((child, index) => { + child.stderr.on('data', (d) => { + // Don't want to assert here, as we might miss error code info. + console.error(`got unexpected data from child #${index}:\n${d}`); + }); + child.on('exit', common.mustCall(function(code) { + assert.strictEqual(code, 0); + })); + }); + wc.stdout.on('data', common.mustCall(function(data) { assert.strictEqual(data.toString().trim(), MB.toString()); })); - - cat.on('exit', common.mustCall(function(code) { - assert.strictEqual(code, 0); - })); - - grep.on('exit', common.mustCall(function(code) { - assert.strictEqual(code, 0); - })); - - wc.on('exit', common.mustCall(function(code) { - assert.strictEqual(code, 0); - })); } -- cgit v1.2.3