From 4bb0d69ce19800ceac3ff1cec1a92e187d2bc9e4 Mon Sep 17 00:00:00 2001 From: Ashley Wulber Date: Fri, 19 Dec 2025 13:29:22 -0500 Subject: [PATCH] Revert "tests: fix env guard and pipe read for tab dnd" This reverts commit ce0868582b3cc09d52de917fef91f50d439fb2a9. --- src/desktop.rs | 11 ++++------- src/process.rs | 30 ++++++++++-------------------- 2 files changed, 14 insertions(+), 27 deletions(-) diff --git a/src/desktop.rs b/src/desktop.rs index 01698af5..82242460 100644 --- a/src/desktop.rs +++ b/src/desktop.rs @@ -881,9 +881,7 @@ mod tests { impl EnvVarGuard { fn set(key: &'static str, value: &Path) -> Self { let original = env::var(key).ok(); - // std::env::{set_var, remove_var} are unsafe on newer toolchains; - // we limit scope here to the test helper that toggles a single key. - unsafe { std::env::set_var(key, value) }; + std::env::set_var(key, value); Self { key, original } } } @@ -891,9 +889,9 @@ mod tests { impl Drop for EnvVarGuard { fn drop(&mut self) { if let Some(ref original) = self.original { - unsafe { std::env::set_var(self.key, original) }; + std::env::set_var(self.key, original); } else { - unsafe { std::env::remove_var(self.key) }; + std::env::remove_var(self.key); } } } @@ -1110,8 +1108,7 @@ Icon=vmware-workstation\n\ let resolved = resolve_desktop_entry(&mut cache, &ctx, &DesktopResolveOptions::default()); assert!(resolved.icon().is_some()); assert!(resolved.exec().is_some()); - let expected = format!("crx_{}", id); - assert_eq!(resolved.startup_wm_class(), Some(expected.as_str())); + assert_eq!(resolved.startup_wm_class(), Some(&format!("crx_{}", id))); } #[test] diff --git a/src/process.rs b/src/process.rs index 2b6c4e0e..1ad048dc 100644 --- a/src/process.rs +++ b/src/process.rs @@ -9,28 +9,18 @@ use std::process::{Command, Stdio, exit}; #[cfg(feature = "tokio")] use tokio::io::AsyncReadExt; +#[cfg(feature = "tokio")] async fn read_from_pipe(read: OwnedFd) -> Option { - #[cfg(feature = "tokio")] - { - let mut read = tokio::net::unix::pipe::Receiver::from_owned_fd(read).unwrap(); - return read.read_u32().await.ok(); - } + let mut read = tokio::net::unix::pipe::Receiver::from_owned_fd(read).unwrap(); + read.read_u32().await.ok() +} - #[cfg(all(feature = "smol", not(feature = "tokio")))] - { - let mut read = smol::Async::new(std::fs::File::from(read)).unwrap(); - let mut bytes = [0; 4]; - read.read_exact(&mut bytes).await.ok()?; - return Some(u32::from_be_bytes(bytes)); - } - - #[cfg(not(any(feature = "tokio", feature = "smol")))] - { - use rustix::fd::AsFd; - let mut bytes = [0u8; 4]; - rustix::io::read(&read, &mut bytes).ok()?; - return Some(u32::from_be_bytes(bytes)); - } +#[cfg(all(feature = "smol", not(feature = "tokio")))] +async fn read_from_pipe(read: OwnedFd) -> Option { + let mut read = smol::Async::new(std::fs::File::from(read)).unwrap(); + let mut bytes = [0; 4]; + read.read_exact(&mut bytes).await.ok()?; + Some(u32::from_be_bytes(bytes)) } /// Performs a double fork with setsid to spawn and detach a command.