feat(e2e): add test mode infrastructure with BTERMINAL_TEST env isolation

Rust: watcher.rs/fs_watcher.rs skip watchers in test mode,
is_test_mode Tauri command. Frontend: wake-scheduler disable,
App.svelte test mode detection. AppConfig centralization in
bterminal-core (OnceLock pattern for path overrides).
This commit is contained in:
Hibryda 2026-03-12 02:52:14 +01:00
parent d1a4d9f220
commit 4097253921
18 changed files with 346 additions and 29 deletions

View file

@ -44,6 +44,8 @@ fn default_provider() -> String {
#[derive(Debug, Clone)]
pub struct SidecarConfig {
pub search_paths: Vec<PathBuf>,
/// Extra env vars forwarded to sidecar processes (e.g. BTERMINAL_TEST=1 for test isolation)
pub env_overrides: std::collections::HashMap<String, String>,
}
struct SidecarCommand {
@ -94,6 +96,7 @@ impl SidecarManager {
.args(&cmd.args)
.env_clear()
.envs(clean_env)
.envs(self.config.env_overrides.iter().map(|(k, v)| (k.as_str(), v.as_str())))
.stdin(Stdio::piped())
.stdout(Stdio::piped())
.stderr(Stdio::piped())