| 18 | |
| 19 | /** Creates a typed mock child process with EventEmitter-based stdout/stderr. */ |
| 20 | export function createMockChildProcess(): MockChildProcess { |
| 21 | const mockProcess = new EventEmitter() as MockChildProcess |
| 22 | mockProcess.stdout = new EventEmitter() |
| 23 | mockProcess.stderr = new EventEmitter() |
| 24 | mockProcess.pid = Math.floor(Math.random() * 10000) |
| 25 | mockProcess.killed = false |
| 26 | mockProcess.kill = mock((signal?: string) => { |
| 27 | mockProcess.killed = true |
| 28 | mockProcess.emit('close', signal === 'SIGKILL' ? 137 : 0) |
| 29 | return true |
| 30 | }) |
| 31 | return mockProcess |
| 32 | } |
| 33 | |
| 34 | /** Result type for code search tool output. */ |
| 35 | export interface CodeSearchResult { |