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 committed by DexterFromLab
parent 01c8ab8b3e
commit 4b86065163
18 changed files with 346 additions and 29 deletions

View file

@ -36,9 +36,17 @@ export interface WakeEvent {
let registrations = $state<Map<string, ManagerRegistration>>(new Map());
let pendingWakes = $state<Map<string, WakeEvent>>(new Map());
/** When true, registerManager() becomes a no-op (set in test mode) */
let schedulerDisabled = false;
// --- Public API ---
/** Disable the wake scheduler (call during app init in test mode) */
export function disableWakeScheduler(): void {
schedulerDisabled = true;
clearWakeScheduler();
}
/** Register a Manager agent for wake scheduling */
export function registerManager(
agentId: AgentId,
@ -48,6 +56,8 @@ export function registerManager(
intervalMin: number,
threshold: number,
): void {
if (schedulerDisabled) return;
// Unregister first to clear any existing timer
unregisterManager(agentId);