mirror of
https://github.com/nimbold/Firelink.git
synced 2026-07-26 12:08:27 +00:00
test(queue): synchronize dispatcher integration assertion
This commit is contained in:
@@ -918,7 +918,7 @@ async fn aria2_resume_waits_for_shrunk_capacity() {
|
|||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn dispatcher_skips_a_full_front_queue_for_later_eligible_work() {
|
async fn dispatcher_skips_a_full_front_queue_for_later_eligible_work() {
|
||||||
let (manager, spawner) = make_manager(2);
|
let (manager, _spawner) = make_manager(2);
|
||||||
let manager = Arc::new(manager);
|
let manager = Arc::new(manager);
|
||||||
manager
|
manager
|
||||||
.replace_queue_limits(vec![
|
.replace_queue_limits(vec![
|
||||||
@@ -937,15 +937,14 @@ async fn dispatcher_skips_a_full_front_queue_for_later_eligible_work() {
|
|||||||
};
|
};
|
||||||
|
|
||||||
timeout(Duration::from_secs(1), async {
|
timeout(Duration::from_secs(1), async {
|
||||||
loop {
|
while manager.aria2_gid_for_download("a1").is_none()
|
||||||
if spawner.add_uri_calls.load(Ordering::SeqCst) == 2 {
|
|| manager.aria2_gid_for_download("b1").is_none()
|
||||||
break;
|
{
|
||||||
}
|
|
||||||
tokio::time::sleep(Duration::from_millis(10)).await;
|
tokio::time::sleep(Duration::from_millis(10)).await;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.await
|
.await
|
||||||
.expect("later eligible queue should dispatch");
|
.expect("both eligible queues should finish dispatching");
|
||||||
assert!(manager.aria2_gid_for_download("a1").is_some());
|
assert!(manager.aria2_gid_for_download("a1").is_some());
|
||||||
assert!(manager.aria2_gid_for_download("b1").is_some());
|
assert!(manager.aria2_gid_for_download("b1").is_some());
|
||||||
assert!(manager.aria2_gid_for_download("a2").is_none());
|
assert!(manager.aria2_gid_for_download("a2").is_none());
|
||||||
|
|||||||
Reference in New Issue
Block a user