| 340 | } |
| 341 | |
| 342 | function formatStepHistory(context: WebSmokeContext): string { |
| 343 | return context.stepHistory |
| 344 | .slice(-8) |
| 345 | .map((stepRecord) => { |
| 346 | const error = |
| 347 | stepRecord.errorCode || stepRecord.errorMessage |
| 348 | ? ` error=${stepRecord.errorCode ?? ''}${stepRecord.errorMessage ? `:${stepRecord.errorMessage}` : ''}` |
| 349 | : ''; |
| 350 | return `${stepRecord.timestamp} status=${stepRecord.status}${error} ${stepRecord.step} :: ${stepRecord.command}`; |
| 351 | }) |
| 352 | .join('\n'); |
| 353 | } |
| 354 | |
| 355 | async function startFixtureServer(): Promise<{ server: Server; url: string }> { |
| 356 | const server = createServer((request, response) => { |