( run: () => Promise<void>, )
| 1046 | } |
| 1047 | |
| 1048 | async function captureOutput( |
| 1049 | run: () => Promise<void>, |
| 1050 | ): Promise<{ stdout: string; stderr: string }> { |
| 1051 | let stdout = ''; |
| 1052 | let stderr = ''; |
| 1053 | const originalStdoutWrite = process.stdout.write.bind(process.stdout); |
| 1054 | const originalStderrWrite = process.stderr.write.bind(process.stderr); |
| 1055 | (process.stdout as any).write = ((chunk: unknown) => { |
| 1056 | stdout += String(chunk); |
| 1057 | return true; |
| 1058 | }) as typeof process.stdout.write; |
| 1059 | (process.stderr as any).write = ((chunk: unknown) => { |
| 1060 | stderr += String(chunk); |
| 1061 | return true; |
| 1062 | }) as typeof process.stderr.write; |
| 1063 | |
| 1064 | try { |
| 1065 | await run(); |
| 1066 | } finally { |
| 1067 | process.stdout.write = originalStdoutWrite; |
| 1068 | process.stderr.write = originalStderrWrite; |
| 1069 | } |
| 1070 | |
| 1071 | return { stdout, stderr }; |
| 1072 | } |
| 1073 | |
| 1074 | function createStubClient(params: { |
| 1075 | installFromSource: AgentDeviceClient['apps']['installFromSource']; |
no test coverage detected