From 768c171f133e0a901722333237ca26e574c03465 Mon Sep 17 00:00:00 2001 From: Conrad Buck Date: Thu, 4 Feb 2021 15:29:58 -0500 Subject: [PATCH] Ensure verbose mode prints output synchronously Fixes #8208 --- packages/jest-reporters/src/DefaultReporter.ts | 6 +++--- packages/jest-reporters/src/VerboseReporter.ts | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/jest-reporters/src/DefaultReporter.ts b/packages/jest-reporters/src/DefaultReporter.ts index 77b1fbe94b46..2c861ce16f8d 100644 --- a/packages/jest-reporters/src/DefaultReporter.ts +++ b/packages/jest-reporters/src/DefaultReporter.ts @@ -43,15 +43,15 @@ export default class DefaultReporter extends BaseReporter { this._err = process.stderr.write.bind(process.stderr); this._status = new Status(); this._bufferedOutput = new Set(); - this._wrapStdio(process.stdout); - this._wrapStdio(process.stderr); + this.__wrapStdio(process.stdout); + this.__wrapStdio(process.stderr); this._status.onChange(() => { this._clearStatus(); this._printStatus(); }); } - private _wrapStdio(stream: NodeJS.WritableStream | NodeJS.WriteStream) { + protected __wrapStdio(stream: NodeJS.WritableStream | NodeJS.WriteStream) { const originalWrite = stream.write; let buffer: Array = []; diff --git a/packages/jest-reporters/src/VerboseReporter.ts b/packages/jest-reporters/src/VerboseReporter.ts index 5d7de322f330..c3f906dde856 100644 --- a/packages/jest-reporters/src/VerboseReporter.ts +++ b/packages/jest-reporters/src/VerboseReporter.ts @@ -29,6 +29,11 @@ export default class VerboseReporter extends DefaultReporter { this._globalConfig = globalConfig; } + // Verbose mode is for debugging. Buffering of output is undesirable. + // See https://github.com/facebook/jest/issues/8208 + protected __wrapStdio() { + } + static filterTestResults( testResults: Array, ): Array {