| import type { ChildProcessWithoutNullStreams } from "node:child_process"; | |
| import type { ProcessSession } from "./bash-process-registry.js"; | |
| export function createProcessSessionFixture(params: { | |
| id: string; | |
| command?: string; | |
| startedAt?: number; | |
| cwd?: string; | |
| maxOutputChars?: number; | |
| pendingMaxOutputChars?: number; | |
| backgrounded?: boolean; | |
| pid?: number; | |
| child?: ChildProcessWithoutNullStreams; | |
| }): ProcessSession { | |
| const session: ProcessSession = { | |
| id: params.id, | |
| command: params.command ?? "test", | |
| startedAt: params.startedAt ?? Date.now(), | |
| cwd: params.cwd ?? "/tmp", | |
| maxOutputChars: params.maxOutputChars ?? 10_000, | |
| pendingMaxOutputChars: params.pendingMaxOutputChars ?? 30_000, | |
| totalOutputChars: 0, | |
| pendingStdout: [], | |
| pendingStderr: [], | |
| pendingStdoutChars: 0, | |
| pendingStderrChars: 0, | |
| aggregated: "", | |
| tail: "", | |
| exited: false, | |
| exitCode: undefined, | |
| exitSignal: undefined, | |
| truncated: false, | |
| backgrounded: params.backgrounded ?? false, | |
| }; | |
| if (params.pid !== undefined) { | |
| session.pid = params.pid; | |
| } | |
| if (params.child) { | |
| session.child = params.child; | |
| } | |
| return session; | |
| } | |