@@ -8,7 +8,7 @@ use std::ops::{Deref, DerefMut};
88use std:: panic;
99use std:: path:: Path ;
1010use std:: sync:: { Arc , LazyLock } ;
11- use std:: time:: { Duration , Instant } ;
11+ use std:: time:: Duration ;
1212
1313use anyhow:: Result ;
1414use async_channel:: { self as channel, Receiver , Sender } ;
@@ -283,10 +283,10 @@ impl TestContextManager {
283283 inviters : & [ & TestContext ] ,
284284 qr : & str ,
285285 ) -> ChatId {
286- assert ! ( joiner. pop_sent_msg_opt( Duration :: ZERO ) . await . is_none( ) ) ;
286+ assert ! ( joiner. pop_sent_msg_opt( ) . await . is_none( ) ) ;
287287 let inviter_addr = inviters[ 0 ] . get_primary_self_addr ( ) . await . unwrap ( ) ;
288288 for inviter in inviters {
289- assert ! ( inviter. pop_sent_msg_opt( Duration :: ZERO ) . await . is_none( ) ) ;
289+ assert ! ( inviter. pop_sent_msg_opt( ) . await . is_none( ) ) ;
290290 assert_eq ! ( inviter. get_primary_self_addr( ) . await . unwrap( ) , inviter_addr) ;
291291 }
292292
@@ -295,14 +295,14 @@ impl TestContextManager {
295295 for _ in 0 ..2 {
296296 let mut something_sent = false ;
297297 let rev_order = false ;
298- if let Some ( sent) = joiner. pop_sent_msg_ex ( rev_order, Duration :: ZERO ) . await {
298+ if let Some ( sent) = joiner. pop_sent_msg_ex ( rev_order) . await {
299299 for inviter in inviters {
300300 inviter. recv_msg_opt ( & sent) . await ;
301301 }
302302 something_sent = true ;
303303 }
304304 for inviter in inviters {
305- if let Some ( sent) = inviter. pop_sent_msg_ex ( rev_order, Duration :: ZERO ) . await {
305+ if let Some ( sent) = inviter. pop_sent_msg_ex ( rev_order) . await {
306306 if sent. recipients . split ( ' ' ) . any ( |addr| addr == inviter_addr) {
307307 for observer in inviters {
308308 // `imap::prefetch_should_download()` returns false on the sender side.
@@ -649,22 +649,17 @@ impl TestContext {
649649 ///
650650 /// Panics if there is no message or on any error.
651651 pub async fn pop_sent_msg ( & self ) -> SentMessage < ' _ > {
652- self . pop_sent_msg_opt ( Duration :: from_secs ( 3 ) )
652+ self . pop_sent_msg_opt ( )
653653 . await
654654 . expect ( "no sent message found in jobs table" )
655655 }
656656
657- pub async fn pop_sent_msg_opt ( & self , timeout : Duration ) -> Option < SentMessage < ' _ > > {
657+ pub async fn pop_sent_msg_opt ( & self ) -> Option < SentMessage < ' _ > > {
658658 let rev_order = true ;
659- self . pop_sent_msg_ex ( rev_order, timeout ) . await
659+ self . pop_sent_msg_ex ( rev_order) . await
660660 }
661661
662- pub async fn pop_sent_msg_ex (
663- & self ,
664- rev_order : bool ,
665- timeout : Duration ,
666- ) -> Option < SentMessage < ' _ > > {
667- let start = Instant :: now ( ) ;
662+ pub async fn pop_sent_msg_ex ( & self , rev_order : bool ) -> Option < SentMessage < ' _ > > {
668663 let mut query = "
669664SELECT id, msg_id, mime, recipients
670665FROM smtp
@@ -673,28 +668,18 @@ ORDER BY id"
673668 if rev_order {
674669 query += " DESC" ;
675670 }
676- let ( rowid, msg_id, payload, recipients) = loop {
677- let row = self
678- . ctx
679- . sql
680- . query_row_optional ( & query, ( ) , |row| {
681- let rowid: i64 = row. get ( 0 ) ?;
682- let msg_id: MsgId = row. get ( 1 ) ?;
683- let mime: String = row. get ( 2 ) ?;
684- let recipients: String = row. get ( 3 ) ?;
685- Ok ( ( rowid, msg_id, mime, recipients) )
686- } )
687- . await
688- . expect ( "query_row_optional failed" ) ;
689- if let Some ( row) = row {
690- break row;
691- }
692- if start. elapsed ( ) < timeout {
693- tokio:: time:: sleep ( Duration :: from_millis ( 100 ) ) . await ;
694- } else {
695- return None ;
696- }
697- } ;
671+ let ( rowid, msg_id, payload, recipients) = self
672+ . ctx
673+ . sql
674+ . query_row_optional ( & query, ( ) , |row| {
675+ let rowid: i64 = row. get ( 0 ) ?;
676+ let msg_id: MsgId = row. get ( 1 ) ?;
677+ let mime: String = row. get ( 2 ) ?;
678+ let recipients: String = row. get ( 3 ) ?;
679+ Ok ( ( rowid, msg_id, mime, recipients) )
680+ } )
681+ . await
682+ . expect ( "query_row_optional failed" ) ?;
698683 self . ctx
699684 . sql
700685 . execute ( "DELETE FROM smtp WHERE id=?;" , ( rowid, ) )
0 commit comments