From bf3b8adf359a4bf45222d99c6108bfd597c1a2b9 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 5 Apr 2023 18:11:33 -0700 Subject: [PATCH] Avoid async fs call before checking if operation is applicable This way, the executor isn't influenced by operations that aren't applicable. --- .../src/tests/randomized_integration_tests.rs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/crates/collab/src/tests/randomized_integration_tests.rs b/crates/collab/src/tests/randomized_integration_tests.rs index a592881929..144484816b 100644 --- a/crates/collab/src/tests/randomized_integration_tests.rs +++ b/crates/collab/src/tests/randomized_integration_tests.rs @@ -735,11 +735,13 @@ async fn apply_client_operation( is_dir, content, } => { - client + if !client .fs - .metadata(&path.parent().unwrap()) - .await? - .ok_or(TestError::Inapplicable)?; + .directories() + .contains(&path.parent().unwrap().to_owned()) + { + return Err(TestError::Inapplicable); + } if is_dir { log::info!("{}: creating dir at {:?}", client.username, path); @@ -761,13 +763,8 @@ async fn apply_client_operation( repo_path, contents, } => { - if !client - .fs - .metadata(&repo_path) - .await? - .map_or(false, |m| m.is_dir) - { - Err(TestError::Inapplicable)?; + if !client.fs.directories().contains(&repo_path) { + return Err(TestError::Inapplicable); } log::info!(