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 <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
1847696f4b
commit
448b0c0afc
@ -33,19 +33,17 @@ const MB = KB * KB;
|
|||||||
grep = spawn('grep', ['x'], { stdio: [cat.stdout, 'pipe', 'pipe'] });
|
grep = spawn('grep', ['x'], { stdio: [cat.stdout, 'pipe', 'pipe'] });
|
||||||
wc = spawn('wc', ['-c'], { stdio: [grep.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) {
|
wc.stdout.on('data', common.mustCall(function(data) {
|
||||||
assert.strictEqual(data.toString().trim(), MB.toString());
|
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);
|
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user