From 4b7c501fd22b4485aabef63b8b4833bf91a30f9d Mon Sep 17 00:00:00 2001 From: Julius Marminge <51714798+juliusmarminge@users.noreply.github.com> Date: Mon, 7 Sep 2026 19:35:30 -0700 Subject: [PATCH] fix(native): wait for the KDE feedback test listener --- native/kde-snap-shot/src/feedback.rs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/native/kde-snap-shot/src/feedback.rs b/native/kde-snap-shot/src/feedback.rs index 4bdbab2cd670..d7c5ec0d9b2c 100644 --- a/native/kde-snap-shot/src/feedback.rs +++ b/native/kde-snap-shot/src/feedback.rs @@ -221,9 +221,12 @@ mod tests { let f = crate::transport_tests::Fixture::new(); let (send, commands) = async_channel::bounded(4); let (done, finished) = mpsc::sync_channel(1); - f.client - .object_server() - .at( + // Build with the bridge registered so zbus waits for its method-call listener. + // Registering it after build can drop the first call while that listener starts. + let bridge = Builder::address(f.address.as_str()) + .unwrap() + .method_timeout(DEADLINE) + .serve_at( OBJECT, Bridge { owner: f._server.unique_name().unwrap().to_string(), @@ -231,8 +234,10 @@ mod tests { done, }, ) + .unwrap() + .build() .unwrap(); - let destination = f.client.unique_name().unwrap().to_string(); + let destination = bridge.unique_name().unwrap().to_string(); let stranger = Builder::address(f.address.as_str()) .unwrap() .method_timeout(DEADLINE) @@ -275,10 +280,7 @@ mod tests { kwin.call::<_, _, ()>("Event", &("{\"event\":\"done\"}",)) .unwrap(); finished.recv_timeout(DEADLINE).unwrap(); - f.client - .object_server() - .remove::(OBJECT) - .unwrap(); + bridge.object_server().remove::(OBJECT).unwrap(); } #[test]