diff --git a/crates/engine/src/masks_tests.rs b/crates/engine/src/masks_tests.rs index c65a52916..af53a8bdc 100644 --- a/crates/engine/src/masks_tests.rs +++ b/crates/engine/src/masks_tests.rs @@ -483,9 +483,10 @@ fn replacing_the_project_drops_pending_tracking_jobs() { } let project = serde_json::to_string(&*s.project).unwrap().to_lowercase(); assert!(!project.contains("mask"), "stale mask data in new project"); - let jobs = s.execute("jobs.list", json!({})).unwrap(); - let j = jobs.as_array().unwrap().iter().find(|j| j["id"] == job).unwrap().clone(); - assert!(j["cancelled"] == true || j["finished"] == true, "{j}"); + // the discarded job was told to stop (the worker may not have noticed yet on a slow machine, + // so its `finished` flag is not waited for) + let j = s.jobs.iter().find(|j| json!(j.id) == job).expect("the tracking job is listed"); + assert!(j.progress.cancel.load(std::sync::atomic::Ordering::Relaxed), "{}", j.to_json()); } #[test]