diff --git a/CHANGELOG.md b/CHANGELOG.md index c81e1020d716..9983aabc1980 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixes - `[expect]` Compare DOM nodes even if there are multiple Node classes ([#8064](https://github.com/facebook/jest/pull/8064)) +- `[jest-worker]` `worker.getStdout()` can return `null` ([#8083](https://github.com/facebook/jest/pull/8083)) ### Chore & Maintenance 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; } }