mirror of
https://github.com/aaddrick/claude-desktop-debian.git
synced 2026-05-17 00:26:21 +03:00
* feat: add BATS unit tests for launcher-common.sh scripts/launcher-common.sh is 798 lines handling critical startup logic — display detection, Electron arg building, stale lock cleanup, cowork daemon cleanup, and the full --doctor diagnostic system — but had zero test coverage. A regression in any of these functions could silently break app launches across display servers and package formats. Add 48 BATS tests covering: - setup_logging / log_message (XDG_CACHE_HOME fallback) - detect_display_backend (X11, Wayland, XWayland, Niri auto-detect) - build_electron_args (all display × package-type combinations) - setup_electron_env (ELECTRON_FORCE_IS_PACKAGED, title bar) - cleanup_stale_lock (dead PID removal, live PID preservation) - cleanup_stale_cowork_socket (stale unix socket removal) - Doctor helpers: - _pass / _fail / _warn / _info output - _cowork_distro_id - _cowork_pkg_hint (distro-specific package mapping) - _electron_version Tests run fully sandboxed: - HOME, XDG_CACHE_HOME, XDG_CONFIG_HOME, and XDG_RUNTIME_DIR redirected to a temp directory - Host display variables cleared in setup() to prevent state leakage * refactor: extract has_electron_arg helper to reduce test boilerplate Replace repeated loop-and-flag patterns across 7 build_electron_args tests with a shared has_electron_arg helper that supports glob matching. Removes ~40 lines of duplicated code with no change in test coverage.