From c576321479a9f76163dadf21a29dd2e37e0b37cb Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Wed, 25 Feb 2026 12:40:39 +0100 Subject: [PATCH] perf(runtime): avoid spawning external true in mock backend --- crates/karapace-runtime/src/mock.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/crates/karapace-runtime/src/mock.rs b/crates/karapace-runtime/src/mock.rs index 7176b29..f13e746 100644 --- a/crates/karapace-runtime/src/mock.rs +++ b/crates/karapace-runtime/src/mock.rs @@ -107,14 +107,15 @@ impl RuntimeBackend for MockBackend { command: &[String], ) -> Result { let stdout = format!("mock-exec: {}\n", command.join(" ")); - // Create a real success ExitStatus portably - let success_status = std::process::Command::new("true") - .status() - .unwrap_or_else(|_| { - std::process::Command::new("/bin/true") - .status() - .expect("cannot execute /bin/true") - }); + + #[cfg(unix)] + let success_status = { + use std::os::unix::process::ExitStatusExt; + std::process::ExitStatus::from_raw(0) + }; + + #[cfg(not(unix))] + let success_status = std::process::Command::new("true").status()?; Ok(std::process::Output { status: success_status, stdout: stdout.into_bytes(),