test: stop path and platform tests depending on the host OS - #9564
Conversation
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
3d7bec1 to
baa8bca
Compare
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — The changes primarily make tests and host-side mobile showcase tooling deterministic across operating systems, with no product schema or customer-path behavior changes. A new file-level directive suppresses the No code changes detected at You can add or adjust custom eligibility rules. Learn more. |
baa8bca to
4027f0d
Compare
4027f0d to
25c890d
Compare
Several tests inject a posix platform but resolve paths or executable names
through the host, so on Windows they see backslashes and tailscale.exe where
they assert forward slashes and tailscale.
- tailscale: pin HostProcessPlatform to linux in the spawner test layer.
- desktop DesktopEnvironment/DesktopAssets/DesktopAppIdentity and ssh config:
provide NodePath.layerPosix alongside NodeServices so Path matches the
posix-shaped fixtures.
- ClaudeSkills: hand skillOverrideSettingsPaths the Path implementation for
the platform under test, with a real win32 fixture for the win32 case.
- ProjectFaviconResolver/ServerSecretStore: compare with path.join/basename
instead of endsWith("/x").
- mobile-showcase: resolveAndroidSdkRoot joins with the path module for the
platform argument it already takes.
Co-Authored-By: Claude Code <noreply@anthropic.com>
25c890d to
a5984ca
Compare
Several tests inject a posix platform but resolve paths or executable names
through the host, so on Windows they see backslashes and tailscale.exe where
they assert forward slashes and tailscale.
provide NodePath.layerPosix alongside NodeServices so Path matches the
posix-shaped fixtures.
the platform under test, with a real win32 fixture for the win32 case.
instead of endsWith("/x").
platform argument it already takes.
Part of the Windows test-suite stack rooted at #9564; the manual Windows lane comes from #9538.
Model: Claude Fable 5 in Claude Code.
🤖 Generated with Claude Code
Note
Stop path and platform tests from depending on host OS
NodePathlayer instead of relying on the host OS defaultpath.joincalls so separators match the injected platformtailscaletests introduce a sharedspawnerLayerhelper that fixesHostProcessPlatformto Linux, ensuring command-selection logic runs deterministicallyClaudeSkillsmanaged-policy test adds Win32 cases covering configured and missingPROGRAMDATAresolveAndroidSdkRootin scripts/mobile-showcase.ts now selects POSIX or Win32 path joins based on the supplied platform rather than the host; win32 callers get backslash separators where they previously got host separatorsMacroscope summarized a5984ca.
Note
Low Risk
Almost entirely test harness changes; the small
resolveAndroidSdkRoottweak only affects default SDK path formatting whenplatformiswin32.Overview
Makes the test suite deterministic on Windows by pinning path and platform behavior instead of inheriting the host OS.
Desktop, SSH, and Effect tests now provide
NodePath.layerPosix(or explicit Win32Pathin ClaudeSkills) so fixtures with forward slashes match whatPathresolves. Server tests replaceendsWith("/…")checks with regex orpath.joinso separators work on any OS.Tailscale tests add a
spawnerLayerhelper that fixesHostProcessPlatformtolinux, so assertions stay on thetailscaleexecutable name rather thantailscale.exe.ClaudeSkills passes the Path implementation that matches each platform under test and expands Win32 managed-policy expectations with real backslash paths.
The only non-test behavior change is
resolveAndroidSdkRoot: it joins the default SDK path withNodePath.win32orNodePath.posixaccording to theplatformargument (includingwin32), not the host’s defaultpathmodule.Reviewed by Cursor Bugbot for commit a5984ca. Bugbot is set up for automated code reviews on this repo. Configure here.