(fixture: { dsym: string }, fn: () => Promise<T>)
| 111 | } |
| 112 | |
| 113 | async function withFakeAppleTools<T>(fixture: { dsym: string }, fn: () => Promise<T>): Promise<T> { |
| 114 | return await withCommandExecutorOverride((cmd, args) => { |
| 115 | if (cmd === 'xcrun') { |
| 116 | return Promise.resolve({ stdout: `/tools/${args.at(-1)}\n`, stderr: '', exitCode: 0 }); |
| 117 | } |
| 118 | if (cmd === '/tools/dwarfdump') { |
| 119 | return Promise.resolve({ |
| 120 | stdout: `UUID: ${UUID} (arm64) ${fixture.dsym}/Contents/Resources/DWARF/Demo\n`, |
| 121 | stderr: '', |
| 122 | exitCode: 0, |
| 123 | }); |
| 124 | } |
| 125 | if (cmd === '/tools/atos') { |
| 126 | return Promise.resolve({ stdout: 'main + 12\n', stderr: '', exitCode: 0 }); |
| 127 | } |
| 128 | return undefined; |
| 129 | }, fn); |
| 130 | } |
no test coverage detected