Fix some tests (mostly more run_until_parked's...)

Conrad Irwin created

Change summary

crates/collab/src/tests/channel_tests.rs     |  1 +
crates/collab/src/tests/following_tests.rs   | 15 +++++----------
crates/collab/src/tests/integration_tests.rs |  1 +
crates/gpui/src/app/test_context.rs          |  3 ++-
4 files changed, 9 insertions(+), 11 deletions(-)

Detailed changes

crates/collab/src/tests/following_tests.rs 🔗

@@ -234,14 +234,14 @@ async fn test_basic_following(
     workspace_c.update(cx_c, |workspace, cx| {
         workspace.close_window(&Default::default(), cx);
     });
-    cx_c.update(|_| {
-        drop(workspace_c);
-    });
-    cx_b.executor().run_until_parked();
+    executor.run_until_parked();
     // are you sure you want to leave the call?
     cx_c.simulate_prompt_answer(0);
-    cx_b.executor().run_until_parked();
+    cx_c.cx.update(|_| {
+        drop(workspace_c);
+    });
     executor.run_until_parked();
+    cx_c.cx.update(|_| {});
 
     weak_workspace_c.assert_dropped();
     weak_project_c.assert_dropped();
@@ -1363,8 +1363,6 @@ async fn test_following_across_workspaces(cx_a: &mut TestAppContext, cx_b: &mut
     let mut server = TestServer::start(executor.clone()).await;
     let client_a = server.create_client(cx_a, "user_a").await;
     let client_b = server.create_client(cx_b, "user_b").await;
-    cx_a.update(editor::init);
-    cx_b.update(editor::init);
 
     client_a
         .fs()
@@ -1400,9 +1398,6 @@ async fn test_following_across_workspaces(cx_a: &mut TestAppContext, cx_b: &mut
     let (workspace_a, cx_a) = client_a.build_workspace(&project_a, cx_a);
     let (workspace_b, cx_b) = client_b.build_workspace(&project_b, cx_b);
 
-    cx_a.update(|cx| collab_ui::init(&client_a.app_state, cx));
-    cx_b.update(|cx| collab_ui::init(&client_b.app_state, cx));
-
     active_call_a
         .update(cx_a, |call, cx| call.share_project(project_a.clone(), cx))
         .await

crates/collab/src/tests/integration_tests.rs 🔗

@@ -3065,6 +3065,7 @@ async fn test_local_settings(
         .update(cx_a, |call, cx| call.share_project(project_a.clone(), cx))
         .await
         .unwrap();
+    executor.run_until_parked();
 
     // As client B, join that project and observe the local settings.
     let project_b = client_b.build_remote_project(project_id, cx_b).await;

crates/gpui/src/app/test_context.rs 🔗

@@ -545,7 +545,8 @@ use derive_more::{Deref, DerefMut};
 pub struct VisualTestContext {
     #[deref]
     #[deref_mut]
-    cx: TestAppContext,
+    /// cx is the original TestAppContext (you can more easily access this using Deref)
+    pub cx: TestAppContext,
     window: AnyWindowHandle,
 }