diff --git a/crates/atuin-client/src/database.rs b/crates/atuin-client/src/database.rs index d01dadb4..4f126030 100644 --- a/crates/atuin-client/src/database.rs +++ b/crates/atuin-client/src/database.rs @@ -762,6 +762,8 @@ impl Database for Sqlite { #[cfg(test)] mod test { + use crate::settings::test_local_timeout; + use super::*; use std::time::{Duration, Instant}; @@ -834,7 +836,9 @@ mod test { #[tokio::test(flavor = "multi_thread")] async fn test_search_prefix() { - let mut db = Sqlite::new("sqlite::memory:", 0.1).await.unwrap(); + let mut db = Sqlite::new("sqlite::memory:", test_local_timeout()) + .await + .unwrap(); new_history_item(&mut db, "ls /home/ellie").await.unwrap(); assert_search_eq(&db, SearchMode::Prefix, FilterMode::Global, "ls", 1) @@ -850,7 +854,9 @@ mod test { #[tokio::test(flavor = "multi_thread")] async fn test_search_fulltext() { - let mut db = Sqlite::new("sqlite::memory:", 0.1).await.unwrap(); + let mut db = Sqlite::new("sqlite::memory:", test_local_timeout()) + .await + .unwrap(); new_history_item(&mut db, "ls /home/ellie").await.unwrap(); assert_search_eq(&db, SearchMode::FullText, FilterMode::Global, "ls", 1) @@ -934,7 +940,9 @@ mod test { #[tokio::test(flavor = "multi_thread")] async fn test_search_fuzzy() { - let mut db = Sqlite::new("sqlite::memory:", 0.1).await.unwrap(); + let mut db = Sqlite::new("sqlite::memory:", test_local_timeout()) + .await + .unwrap(); new_history_item(&mut db, "ls /home/ellie").await.unwrap(); new_history_item(&mut db, "ls /home/frank").await.unwrap(); new_history_item(&mut db, "cd /home/Ellie").await.unwrap(); @@ -1035,7 +1043,9 @@ mod test { #[tokio::test(flavor = "multi_thread")] async fn test_search_reordered_fuzzy() { - let mut db = Sqlite::new("sqlite::memory:", 0.1).await.unwrap(); + let mut db = Sqlite::new("sqlite::memory:", test_local_timeout()) + .await + .unwrap(); // test ordering of results: we should choose the first, even though it happened longer ago. new_history_item(&mut db, "curl").await.unwrap(); @@ -1069,7 +1079,9 @@ mod test { git_root: None, }; - let mut db = Sqlite::new("sqlite::memory:", 0.1).await.unwrap(); + let mut db = Sqlite::new("sqlite::memory:", test_local_timeout()) + .await + .unwrap(); for _i in 1..10000 { new_history_item(&mut db, "i am a duplicated command") .await diff --git a/crates/atuin-client/src/record/sqlite_store.rs b/crates/atuin-client/src/record/sqlite_store.rs index 63ef42f8..23130797 100644 --- a/crates/atuin-client/src/record/sqlite_store.rs +++ b/crates/atuin-client/src/record/sqlite_store.rs @@ -367,7 +367,7 @@ pub(crate) fn test_sqlite_store_timeout() -> f64 { std::env::var("ATUIN_TEST_SQLITE_STORE_TIMEOUT") .ok() .and_then(|x| x.parse().ok()) - .unwrap_or(0.1) + .unwrap_or(crate::settings::test_local_timeout()) } #[cfg(test)] diff --git a/crates/atuin-client/src/settings.rs b/crates/atuin-client/src/settings.rs index 64cb4f3a..669b2501 100644 --- a/crates/atuin-client/src/settings.rs +++ b/crates/atuin-client/src/settings.rs @@ -845,6 +845,16 @@ impl Default for Settings { } } +#[cfg(test)] +pub(crate) fn test_local_timeout() -> f64 { + std::env::var("ATUIN_TEST_LOCAL_TIMEOUT") + .ok() + .and_then(|x| x.parse().ok()) + // this hardcoded value should be replaced by a simple way to get the + // default local_timeout of Settings if possible + .unwrap_or(2.0) +} + #[cfg(test)] mod tests { use std::str::FromStr;