Skip to content

Commit 9825a7e

Browse files
authored
test: fix test-runner-inspect
PR-URL: #44620Fixes: #44600 Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Antoine du Hamel <[email protected]>
1 parent cb7e0c5 commit 9825a7e

File tree

1 file changed

+13
-28
lines changed

1 file changed

+13
-28
lines changed

‎lib/internal/test_runner/runner.js‎

Lines changed: 13 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,19 @@ const{
44
ArrayPrototypeFilter,
55
ArrayPrototypeIncludes,
66
ArrayPrototypeJoin,
7-
ArrayPrototypePop,
87
ArrayPrototypePush,
98
ArrayPrototypeSlice,
109
ArrayPrototypeSort,
1110
ObjectAssign,
1211
PromisePrototypeThen,
13-
RegExpPrototypeSymbolSplit,
1412
SafePromiseAll,
1513
SafeSet,
16-
StringPrototypeEndsWith,
1714
}=primordials;
1815

19-
const{ Buffer }=require('buffer');
2016
const{ spawn }=require('child_process');
2117
const{ readdirSync, statSync }=require('fs');
18+
// TODO(aduh95): switch to internal/readline/interface when backporting to Node.js 16.x is no longer a concern.
19+
const{ createInterface }=require('readline');
2220
constconsole=require('internal/console/global');
2321
const{
2422
codes: {
@@ -114,28 +112,6 @@ function getRunArgs({path, inspectPort }){
114112
returnargv;
115113
}
116114

117-
functionmakeStderrCallback(callback){
118-
if(!isUsingInspector()){
119-
returncallback;
120-
}
121-
letbuffer=Buffer.alloc(0);
122-
return(data)=>{
123-
callback(data);
124-
constnewData=Buffer.concat([buffer,data]);
125-
conststr=newData.toString('utf8');
126-
letlines=str;
127-
if(StringPrototypeEndsWith(lines,'\n')){
128-
buffer=Buffer.alloc(0);
129-
}else{
130-
lines=RegExpPrototypeSymbolSplit(/\r?\n/,str);
131-
buffer=Buffer.from(ArrayPrototypePop(lines),'utf8');
132-
lines=ArrayPrototypeJoin(lines,'\n');
133-
}
134-
if(isInspectorMessage(lines)){
135-
process.stderr.write(lines);
136-
}
137-
};
138-
}
139115

140116
functionrunTestFile(path,root,inspectPort){
141117
constsubtest=root.createSubtest(Test,path,async(t)=>{
@@ -151,9 +127,18 @@ function runTestFile(path, root, inspectPort){
151127
err=error;
152128
});
153129

154-
child.stderr.on('data',makeStderrCallback((data)=>{
130+
child.stderr.on('data',(data)=>{
155131
stderr+=data;
156-
}));
132+
});
133+
134+
if(isUsingInspector()){
135+
constrl=createInterface({input: child.stderr});
136+
rl.on('line',(line)=>{
137+
if(isInspectorMessage(line)){
138+
process.stderr.write(line+'\n');
139+
}
140+
});
141+
}
157142

158143
const{0: {0: code,1: signal},1: stdout}=awaitSafePromiseAll([
159144
once(child,'exit',{signal: t.signal}),

0 commit comments

Comments
(0)