Skip to content

Commit ab5cd20

Browse files
author
Nicholas Pape
authored
Stop stream-collator from redirecting warnings to stdout (microsoft#504)
* Remove code which always redirected warnings from stderr to stdout * Changefile * Fix tests * Remove unused variable
1 parent b2efc1a commit ab5cd20

File tree

3 files changed

+16
-29
lines changed

3 files changed

+16
-29
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"changes": [
3+
{
4+
"packageName": "@microsoft/stream-collator",
5+
"comment": "Remove code which redirected warnings to stdout.",
6+
"type": "patch"
7+
}
8+
],
9+
"packageName": "@microsoft/stream-collator",
10+
"email": "nickpape-msft@users.noreply.github.com"
11+
}

libraries/stream-collator/src/Interleaver.ts

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@ interface ITaskWriterInfo {
3333

3434
enum ITaskOutputStream {
3535
stdout = 1,
36-
stderr = 2,
37-
warning = 3
36+
stderr = 2
3837
}
3938

4039
/**
@@ -79,13 +78,7 @@ export default class Interleaver {
7978
getStdError: (): string => this._getTaskOutput(taskName, ITaskOutputStream.stderr),
8079
getStdOutput: (): string => this._getTaskOutput(taskName),
8180
write: (data: string): void => this._writeTaskOutput(taskName, data),
82-
writeError: (data: string): void => {
83-
const stream: ITaskOutputStream = (data.indexOf('Warning - ') === 0) ?
84-
ITaskOutputStream.warning : // Warning written to stderr
85-
ITaskOutputStream.stderr;
86-
87-
this._writeTaskOutput(taskName, data, stream);
88-
},
81+
writeError: (data: string): void => this._writeTaskOutput(taskName, data, ITaskOutputStream.stderr),
8982
writeLine: (data: string): void => this._writeTaskOutput(taskName, data + os.EOL)
9083
};
9184
}
@@ -120,10 +113,8 @@ export default class Interleaver {
120113
if (this._activeTask === taskName) {
121114
if (stream === ITaskOutputStream.stdout && !taskInfo.quietMode) {
122115
this._stdout.write(data);
123-
} else if (stream === ITaskOutputStream.warning && !taskInfo.quietMode) {
124-
this._stdout.write(colors.yellow(data));
125116
} else if (stream === ITaskOutputStream.stderr) {
126-
this._stdout.write(colors.red(data));
117+
this._stdout.write(data);
127118
}
128119
}
129120
}

libraries/stream-collator/src/test/Interleaver.test.ts

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
/// <reference types="mocha" />
55

66
import { assert } from 'chai';
7-
import * as colors from 'colors';
87
import * as os from 'os';
98

109
import Interleaver, { ITaskWriter } from '../Interleaver';
@@ -86,26 +85,12 @@ describe('Interleaver tests', () => {
8685
done();
8786
});
8887

89-
it('should redirect warnings to stdout in yellow', (done: MochaDone) => {
90-
const taskA: ITaskWriter = Interleaver.registerTask('A');
91-
const warning: string = 'Warning - This is a warning';
92-
93-
taskA.writeError(warning);
94-
assert.equal(stdout.read(), colors.yellow(warning));
95-
96-
taskA.close();
97-
98-
assert.equal(taskA.getStdOutput(), warning);
99-
assert.equal(taskA.getStdError(), '');
100-
done();
101-
});
102-
103-
it('should write errors in red', (done: MochaDone) => {
88+
it('should write errors to stderr', (done: MochaDone) => {
10489
const taskA: ITaskWriter = Interleaver.registerTask('A');
10590
const error: string = 'Critical error';
10691

10792
taskA.writeError(error);
108-
assert.equal(stdout.read(), colors.red(error));
93+
assert.equal(stdout.read(), error);
10994

11095
taskA.close();
11196

0 commit comments

Comments
 (0)