Fix randomized test failures by waiting for client_b to be added to worktree_a

We perform an async fetch of client_b's user data on worktree_a, which ends up holding a handle that prevents worktree_a from being released later in the test. By waiting for this fetch to finish before proceeding, we can be sure worktree_a actually gets released.

A more comprehensive fix would be some way to ensure we actually perform a release if an entity is fully dropped outside of an update cycle, but this fixes the issue for now.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
This commit is contained in:
Nathan Sobo 2021-11-29 16:44:51 -07:00
parent 1a91aa8194
commit a1412166f0

View File

@ -2232,6 +2232,12 @@ mod tests {
})
.await;
worktree_a
.condition(&cx_a, |worktree, cx| {
worktree.collaborators().contains_key(&client_b.peer_id)
})
.await;
cx_a.update(move |_| drop(worktree_a));
client_a
.user_store