fix: client-test timeout (#29364)

* fix: retry counter doesn't count

* set timeout for wait_for
This commit is contained in:
Yihau Chen 2022-12-22 16:50:19 +08:00 committed by GitHub
parent 0a5164d887
commit bf18613a2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 2 deletions

View File

@ -528,8 +528,13 @@ fn test_slot_subscription() {
async fn test_slot_subscription_async() { async fn test_slot_subscription_async() {
let sync_service = Arc::new(AtomicU64::new(0)); let sync_service = Arc::new(AtomicU64::new(0));
let sync_client = Arc::clone(&sync_service); let sync_client = Arc::clone(&sync_service);
fn wait_until(atomic: &Arc<AtomicU64>, value: u64) { fn wait_until(atomic: &Arc<AtomicU64>, value: u64) {
let now = Instant::now();
while atomic.load(Ordering::Relaxed) != value { while atomic.load(Ordering::Relaxed) != value {
if now.elapsed() > Duration::from_secs(5) {
panic!("wait for too long")
}
sleep(Duration::from_millis(1)) sleep(Duration::from_millis(1))
} }
} }
@ -605,12 +610,16 @@ async fn test_slot_subscription_async() {
unsubscribe().await; unsubscribe().await;
} }
fn check_server_is_ready_or_panic(socket_addr: &SocketAddr, retry: u8, sleep_duration: Duration) { fn check_server_is_ready_or_panic(
socket_addr: &SocketAddr,
mut retry: u8,
sleep_duration: Duration,
) {
loop { loop {
if retry == 0 { if retry == 0 {
break; break;
} else { } else {
retry.checked_sub(1).unwrap(); retry = retry.checked_sub(1).unwrap();
} }
if connect(format!("ws://{socket_addr}")).is_ok() { if connect(format!("ws://{socket_addr}")).is_ok() {