From 05ab2c711ded3085bfe2522f307a9b2f8dae1fe9 Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Fri, 8 Mar 2019 09:05:53 +0100 Subject: [PATCH 1/2] fix: jest-worker can return `null` for `getStdout()` --- CHANGELOG.md | 2 ++ packages/jest-worker/src/types.ts | 4 ++-- .../src/workers/ChildProcessWorker.ts | 16 +++------------- .../jest-worker/src/workers/NodeThreadsWorker.ts | 6 +++--- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 22a106e2f23b..62f88535d21e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ ### Fixes +- `[jest-worker]` `worker.getStdout()` can return `null` + ### Chore & Maintenance ### Performance diff --git a/packages/jest-worker/src/types.ts b/packages/jest-worker/src/types.ts index ce25219f525c..8c4979a5f7da 100644 --- a/packages/jest-worker/src/types.ts +++ b/packages/jest-worker/src/types.ts @@ -49,8 +49,8 @@ export interface WorkerInterface { onProcessEnd: OnEnd, ): void; getWorkerId(): number; - getStderr(): NodeJS.ReadableStream; - getStdout(): NodeJS.ReadableStream; + getStderr(): NodeJS.ReadableStream | null; + getStdout(): NodeJS.ReadableStream | null; onExit(exitCode: number): void; onMessage(message: ParentMessage): void; } diff --git a/packages/jest-worker/src/workers/ChildProcessWorker.ts b/packages/jest-worker/src/workers/ChildProcessWorker.ts index d08f395bbcd5..b0378ebac93d 100644 --- a/packages/jest-worker/src/workers/ChildProcessWorker.ts +++ b/packages/jest-worker/src/workers/ChildProcessWorker.ts @@ -166,25 +166,15 @@ export default class ChildProcessWorker implements WorkerInterface { this._child.send(request); } - getWorkerId(): number { + getWorkerId() { return this._options.workerId; } - getStdout(): NodeJS.ReadableStream { - if (this._child.stdout === null) { - throw new Error( - 'stdout is null - this should never happen. Please open up an issue at https://github.com/facebook/jest', - ); - } + getStdout() { return this._child.stdout; } - getStderr(): NodeJS.ReadableStream { - if (this._child.stderr === null) { - throw new Error( - 'stderr is null - this should never happen. Please open up an issue at https://github.com/facebook/jest', - ); - } + getStderr() { return this._child.stderr; } } diff --git a/packages/jest-worker/src/workers/NodeThreadsWorker.ts b/packages/jest-worker/src/workers/NodeThreadsWorker.ts index 473491dd9a39..58011ba01b8e 100644 --- a/packages/jest-worker/src/workers/NodeThreadsWorker.ts +++ b/packages/jest-worker/src/workers/NodeThreadsWorker.ts @@ -150,15 +150,15 @@ export default class ExperimentalWorker implements WorkerInterface { this._worker.postMessage(request); } - getWorkerId(): number { + getWorkerId() { return this._options.workerId; } - getStdout(): NodeJS.ReadableStream { + getStdout() { return this._worker.stdout; } - getStderr(): NodeJS.ReadableStream { + getStderr() { return this._worker.stderr; } } From 3f398cdc1ab8877f802c08fe38d19e59f62992b5 Mon Sep 17 00:00:00 2001 From: Simen Bekkhus Date: Fri, 8 Mar 2019 09:10:27 +0100 Subject: [PATCH 2/2] link to PR --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62f88535d21e..7c721e405ca6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ ### Fixes -- `[jest-worker]` `worker.getStdout()` can return `null` +- `[jest-worker]` `worker.getStdout()` can return `null` ([#8083](https://github.com/facebook/jest/pull/8083)) ### Chore & Maintenance