Get language2 tests passing by not blocking on a foreground task

This commit is contained in:
Nathan Sobo 2023-11-01 21:04:17 -06:00
parent 53066df522
commit 57dfc50687
4 changed files with 6 additions and 11 deletions

View File

@ -4,7 +4,7 @@ use crate::{
WindowContext,
};
use anyhow::{anyhow, bail};
use futures::{SinkExt, Stream, StreamExt};
use futures::{Stream, StreamExt};
use std::{cell::RefCell, future::Future, rc::Rc, sync::Arc, time::Duration};
#[derive(Clone)]
@ -165,13 +165,11 @@ impl TestAppContext {
where
T::Event: 'static + Clone,
{
let (mut tx, rx) = futures::channel::mpsc::unbounded();
let (tx, rx) = futures::channel::mpsc::unbounded();
entity
.update(self, |_, cx: &mut ModelContext<T>| {
cx.subscribe(entity, move |_, _, event, cx| {
cx.background_executor()
.block(tx.send(event.clone()))
.unwrap();
cx.subscribe(entity, move |_model, _handle, event, _cx| {
let _ = tx.unbounded_send(event.clone());
})
})
.detach();

View File

@ -36,10 +36,6 @@ pub fn derive_component(input: TokenStream) -> TokenStream {
}
};
if name == "CollabPanel" {
println!("{}", expanded)
}
TokenStream::from(expanded)
}

View File

@ -434,7 +434,7 @@ impl Buffer {
));
let text_operations = self.text.operations().clone();
cx.spawn(|_| async move {
cx.background_executor().spawn(async move {
let since = since.unwrap_or_default();
operations.extend(
text_operations

View File

@ -1943,6 +1943,7 @@ fn test_random_collaboration(cx: &mut AppContext, mut rng: StdRng) {
.detach();
buffer
});
buffers.push(buffer);
replica_ids.push(i as ReplicaId);
network.lock().add_peer(i as ReplicaId);