From 379d0886bdb760adf1a0ec16d256838f082cb921 Mon Sep 17 00:00:00 2001 From: Marco Allegretti Date: Thu, 12 Mar 2026 20:16:58 +0100 Subject: [PATCH] fix(appd): set WEFT_DISABLE_CGROUP in supervisor test In environments where XDG_RUNTIME_DIR/systemd/private exists but the user systemd session is not functional, systemd_cgroup_available() returns true and the test script is wrapped with systemd-run, which fails immediately, causing ChildStdout to return EOF before READY. Set WEFT_DISABLE_CGROUP=1 for the duration of the test and restore it on exit. --- crates/weft-appd/src/main.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/crates/weft-appd/src/main.rs b/crates/weft-appd/src/main.rs index 03e23ab..76b478d 100644 --- a/crates/weft-appd/src/main.rs +++ b/crates/weft-appd/src/main.rs @@ -813,8 +813,12 @@ mod tests { std::fs::set_permissions(&script, std::fs::Permissions::from_mode(0o755)).unwrap(); let prior = std::env::var("WEFT_RUNTIME_BIN").ok(); + let prior_cgroup = std::env::var("WEFT_DISABLE_CGROUP").ok(); // SAFETY: single-threaded test (flavor = "current_thread"); no concurrent env access. - unsafe { std::env::set_var("WEFT_RUNTIME_BIN", &script) }; + unsafe { + std::env::set_var("WEFT_RUNTIME_BIN", &script); + std::env::set_var("WEFT_DISABLE_CGROUP", "1"); + } let registry: Registry = Arc::new(Mutex::new(SessionRegistry::default())); let mut rx = registry.lock().await.subscribe(); @@ -856,6 +860,10 @@ mod tests { Some(v) => std::env::set_var("WEFT_RUNTIME_BIN", v), None => std::env::remove_var("WEFT_RUNTIME_BIN"), } + match prior_cgroup { + Some(v) => std::env::set_var("WEFT_DISABLE_CGROUP", v), + None => std::env::remove_var("WEFT_DISABLE_CGROUP"), + } } }