Skip to content

Commit 54a266c

Browse files
Trotttargos
authored andcommitted
test: increase debugging information in subprocess test
Refs: #25988 (comment) PR-URL: #30761 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
1 parent d3f0dd2 commit 54a266c

1 file changed

Lines changed: 11 additions & 1 deletion

File tree

‎test/parallel/test-child-process-pipe-dataflow.js‎

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ const MB = KB * KB;
3737
cat.stdout._handle.readStart=common.mustNotCall();
3838
grep.stdout._handle.readStart=common.mustNotCall();
3939

40+
// Keep an array of error codes and assert on them during process exit. This
41+
// is because stdio can still be open when a child process exits, and we don't
42+
// want to lose information about what caused the error.
43+
consterrors=[];
44+
process.on('exit',()=>{
45+
assert.deepStrictEqual(errors,[]);
46+
});
47+
4048
[cat,grep,wc].forEach((child,index)=>{
4149
consterrorHandler=(thing,type)=>{
4250
// Don't want to assert here, as we might miss error code info.
@@ -46,7 +54,9 @@ const MB = KB * KB;
4654
child.stderr.on('data',(d)=>{errorHandler(d,'data');});
4755
child.on('error',(err)=>{errorHandler(err,'error');});
4856
child.on('exit',common.mustCall((code)=>{
49-
assert.strictEqual(code,0,`child ${index} exited with code ${code}`);
57+
if(code!==0){
58+
errors.push(`child ${index} exited with code ${code}`);
59+
}
5060
}));
5161
});
5262

0 commit comments

Comments
 (0)