From 33705b9cbbb14164dc61b58591a49a20d8e904fd Mon Sep 17 00:00:00 2001 From: SuLe Date: Sat, 2 May 2026 04:41:09 +0800 Subject: [PATCH] speed up query timeout test --- src-tauri/src/commands/query.rs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src-tauri/src/commands/query.rs b/src-tauri/src/commands/query.rs index 7ac0f99364..c406dce54b 100644 --- a/src-tauri/src/commands/query.rs +++ b/src-tauri/src/commands/query.rs @@ -90,6 +90,17 @@ async fn wait_for_query( cancel_token: Option, future: F, ) -> Result +where + F: Future>, +{ + wait_for_query_with_timeout(cancel_token, QUERY_TIMEOUT, future).await +} + +async fn wait_for_query_with_timeout( + cancel_token: Option, + timeout_duration: Duration, + future: F, +) -> Result where F: Future>, { @@ -97,10 +108,10 @@ where tokio::select! { biased; _ = token.cancelled() => Err(canceled_error()), - result = timeout(QUERY_TIMEOUT, future) => result.map_err(|_| timeout_error())?, + result = timeout(timeout_duration, future) => result.map_err(|_| timeout_error())?, } } else { - timeout(QUERY_TIMEOUT, future) + timeout(timeout_duration, future) .await .map_err(|_| timeout_error())? } @@ -326,8 +337,8 @@ mod tests { #[tokio::test] async fn wait_for_query_without_token_still_times_out() { - let result = wait_for_query(None, async { - tokio::time::sleep(Duration::from_secs(31)).await; + let result = wait_for_query_with_timeout(None, Duration::from_millis(10), async { + tokio::time::sleep(Duration::from_secs(1)).await; Ok(db::QueryResult { columns: vec![], rows: vec![],