From ebcc500d16eb8dd1c651df3f8e46d95a9055903f Mon Sep 17 00:00:00 2001 From: Josh Rufer Date: Wed, 23 Sep 2026 20:00:22 -0500 Subject: [PATCH] test(routing): mock wl-copy in the empty-text clipboard test It was the one clipboard test without MockClipboardTool, so on a Wayland desktop it ran the real wl-copy: the developer's clipboard was replaced, and wl-copy's forked background server inherited the test binary's stdout, so `cargo test -p voxctrl-routing | tail` hung after every test passed. Co-Authored-By: Claude Opus 5.5 --- crates/voxctrl-routing/src/tests.rs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/crates/voxctrl-routing/src/tests.rs b/crates/voxctrl-routing/src/tests.rs index cd68ab76..d0a36175 100644 --- a/crates/voxctrl-routing/src/tests.rs +++ b/crates/voxctrl-routing/src/tests.rs @@ -457,6 +457,11 @@ async fn test_clipboard_target_linux_cli() { #[tokio::test] async fn test_clipboard_target_failure_empty_text() { let _env = env_lock().lock().await; + // Without the mock this ran the machine's real `wl-copy`, which replaced + // the developer's clipboard and forked a background server that kept the + // test binary's stdout open, so a piped `cargo test` never exited. + #[cfg(target_os = "linux")] + let _mock = MockClipboardTool::install(); let mut config = OutputTarget::default_inject(); config.delivery = DeliveryType::Clipboard; let target = build_target(config);