Run multiple iterations of all integration tests

Max Brunsfeld and Nathan Sobo created

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Change summary

crates/lsp/src/lsp.rs    |  2 +-
crates/server/src/rpc.rs | 32 ++++++++++++++++----------------
2 files changed, 17 insertions(+), 17 deletions(-)

Detailed changes

crates/lsp/src/lsp.rs 🔗

@@ -547,7 +547,7 @@ impl FakeLanguageServer {
                     request.params,
                 );
             } else {
-                println!(
+                log::info!(
                     "skipping message in fake language server {:?}",
                     std::str::from_utf8(&self.buffer)
                 );

crates/server/src/rpc.rs 🔗

@@ -1201,7 +1201,7 @@ mod tests {
         }
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_share_project(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         let (window_b, _) = cx_b.add_window(|_| EmptyView);
         let lang_registry = Arc::new(LanguageRegistry::new());
@@ -1340,7 +1340,7 @@ mod tests {
             .await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_unshare_project(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         let lang_registry = Arc::new(LanguageRegistry::new());
         let fs = Arc::new(FakeFs::new(cx_a.background()));
@@ -1437,7 +1437,7 @@ mod tests {
             .unwrap();
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_propagate_saves_and_fs_changes(
         mut cx_a: TestAppContext,
         mut cx_b: TestAppContext,
@@ -1623,7 +1623,7 @@ mod tests {
             .await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_buffer_conflict_after_save(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         cx_a.foreground().forbid_parking();
         let lang_registry = Arc::new(LanguageRegistry::new());
@@ -1716,7 +1716,7 @@ mod tests {
         });
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_buffer_reloading(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         cx_a.foreground().forbid_parking();
         let lang_registry = Arc::new(LanguageRegistry::new());
@@ -1878,7 +1878,7 @@ mod tests {
         buffer_b.condition(&cx_b, |buf, _| buf.text() == text).await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_leaving_worktree_while_opening_buffer(
         mut cx_a: TestAppContext,
         mut cx_b: TestAppContext,
@@ -1956,7 +1956,7 @@ mod tests {
             .await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_peer_disconnection(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         cx_a.foreground().forbid_parking();
         let lang_registry = Arc::new(LanguageRegistry::new());
@@ -2027,7 +2027,7 @@ mod tests {
             .await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_collaborating_with_diagnostics(
         mut cx_a: TestAppContext,
         mut cx_b: TestAppContext,
@@ -2251,7 +2251,7 @@ mod tests {
         });
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_collaborating_with_completion(
         mut cx_a: TestAppContext,
         mut cx_b: TestAppContext,
@@ -2476,7 +2476,7 @@ mod tests {
         );
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_formatting_buffer(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         cx_a.foreground().forbid_parking();
         let mut lang_registry = Arc::new(LanguageRegistry::new());
@@ -2580,7 +2580,7 @@ mod tests {
         );
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_definition(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         cx_a.foreground().forbid_parking();
         let mut lang_registry = Arc::new(LanguageRegistry::new());
@@ -2737,7 +2737,7 @@ mod tests {
             .await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_open_buffer_while_getting_definition_pointing_to_it(
         mut cx_a: TestAppContext,
         mut cx_b: TestAppContext,
@@ -2851,7 +2851,7 @@ mod tests {
         assert_eq!(definitions[0].target_buffer, buffer_b2);
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_basic_chat(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         cx_a.foreground().forbid_parking();
 
@@ -2991,7 +2991,7 @@ mod tests {
             .await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_chat_message_validation(mut cx_a: TestAppContext) {
         cx_a.foreground().forbid_parking();
 
@@ -3051,7 +3051,7 @@ mod tests {
         );
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_chat_reconnection(mut cx_a: TestAppContext, mut cx_b: TestAppContext) {
         cx_a.foreground().forbid_parking();
 
@@ -3263,7 +3263,7 @@ mod tests {
             .await;
     }
 
-    #[gpui::test]
+    #[gpui::test(iterations = 10)]
     async fn test_contacts(
         mut cx_a: TestAppContext,
         mut cx_b: TestAppContext,