diff --git a/.github/workflows/test-ffi-bindings.yml b/.github/workflows/test-ffi-bindings.yml index 2f93e5fd1..2c9b3cca6 100644 --- a/.github/workflows/test-ffi-bindings.yml +++ b/.github/workflows/test-ffi-bindings.yml @@ -46,4 +46,4 @@ jobs: - name: Run cargo test on FFI bindings run: | export CLASSPATH="${{ env.CLASSPATH }}" - cargo test --manifest-path bindings_ffi/Cargo.toml -- --test-threads=1 + RUST_LOG=warn,xmtpv3::mls=info cargo test --manifest-path bindings_ffi/Cargo.toml -- --test-threads=1 diff --git a/bindings_ffi/src/mls.rs b/bindings_ffi/src/mls.rs index 203dbb404..e25077b8b 100644 --- a/bindings_ffi/src/mls.rs +++ b/bindings_ffi/src/mls.rs @@ -1287,7 +1287,7 @@ mod tests { use std::{ env, sync::{ - atomic::{AtomicBool, AtomicU32, Ordering}, + atomic::{AtomicU32, Ordering}, Arc, Mutex, }, }; @@ -1298,7 +1298,7 @@ mod tests { self, distributions::{Alphanumeric, DistString}, }; - use tokio::time::error::Elapsed; + use tokio::{sync::Notify, time::error::Elapsed}; use xmtp_cryptography::{signature::RecoverableSignature, utils::rng}; use xmtp_id::associations::generate_inbox_id; use xmtp_mls::{storage::EncryptionKey, InboxOwner}; @@ -1343,7 +1343,7 @@ mod tests { num_messages: Arc, messages: Arc>>, conversations: Arc>>>, - is_pending: Arc, + notify: Arc, } impl RustStreamCallback { @@ -1354,10 +1354,7 @@ mod tests { pub async fn wait_for_delivery(&self) -> Result<(), Elapsed> { log::info!("WAITING FOR DELIVERY"); tokio::time::timeout(std::time::Duration::from_secs(60), async { - while !self.is_pending.load(Ordering::SeqCst) { - tokio::task::yield_now().await; - } - self.is_pending.store(false, Ordering::SeqCst); + self.notify.notified().await }) .await } @@ -1373,7 +1370,7 @@ mod tests { ); messages.push(message); let _ = self.num_messages.fetch_add(1, Ordering::SeqCst); - self.is_pending.store(true, Ordering::SeqCst); + self.notify.notify_one(); } } @@ -1383,7 +1380,7 @@ mod tests { let _ = self.num_messages.fetch_add(1, Ordering::SeqCst); let mut convos = self.conversations.lock().unwrap(); convos.push(group); - self.is_pending.store(true, Ordering::SeqCst); + self.notify.notify_one(); } } @@ -1812,7 +1809,7 @@ mod tests { alix_group.send("hello1".as_bytes().to_vec()).await.unwrap(); message_callbacks.wait_for_delivery().await.unwrap(); - bo.conversations().sync().await.unwrap(); + // bo.conversations().sync().await.unwrap(); let bo_groups = bo .conversations()