tests/test_desktop_prod_scripts.py::test_linux_process_stop_executes_before_data_wipe isolates HOME/XDG_DATA_HOME into a tmp fixture but executes scripts/desktop-prod.sh --skip-build with cwd=<repo root>. Its final assertion (returncode != 0) relies on "no build artifact exists in this fixture" — but the launch step resolves the artifact from the repo, not the fixture, so on any machine where the desktop app has been built (src-tauri target present) the script exits 0 and the test fails. CI passes only because runners never have a build.
Fix direction: make the artifact lookup part of the fixture (e.g. run the script from a tmp copy with a stubbed target dir, or stub the launch binary path the same way python3/pgrep/lsof are stubbed) so the test is deterministic on dev boxes too.
Found while verifying #1564/#1565 locally — unrelated to either change.
tests/test_desktop_prod_scripts.py::test_linux_process_stop_executes_before_data_wipeisolatesHOME/XDG_DATA_HOMEinto a tmp fixture but executesscripts/desktop-prod.sh --skip-buildwithcwd=<repo root>. Its final assertion (returncode != 0) relies on "no build artifact exists in this fixture" — but the launch step resolves the artifact from the repo, not the fixture, so on any machine where the desktop app has been built (src-tauri target present) the script exits 0 and the test fails. CI passes only because runners never have a build.Fix direction: make the artifact lookup part of the fixture (e.g. run the script from a tmp copy with a stubbed target dir, or stub the launch binary path the same way python3/pgrep/lsof are stubbed) so the test is deterministic on dev boxes too.
Found while verifying #1564/#1565 locally — unrelated to either change.