(task: impl Future<Output = Result<T, Box<dyn Error>>>)
| 32 | } |
| 33 | |
| 34 | pub async fn run_debug_task<T>(task: impl Future<Output = Result<T, Box<dyn Error>>>) -> DebugTask<T> { |
| 35 | let start = Instant::now(); |
| 36 | let result = match timeout(TASK_TIMEOUT, task).await { |
| 37 | Ok(Ok(r)) => TaskResult::Success(r), |
| 38 | Ok(Err(err)) => TaskResult::Failure(format!("{:?}", err)), |
| 39 | Err(_) => TaskResult::Timeout, |
| 40 | }; |
| 41 | |
| 42 | DebugTask { result, total_s: start.elapsed().as_secs_f32() } |
| 43 | } |
| 44 | |
| 45 | pub fn debug_panic_error<T>(error: JoinError) -> DebugTask<T> { |
| 46 | tracing::error!(message_id = "lai6Ok9e", ?error, "Debug bundle task failed",); |
no test coverage detected