Commit Graph

5 Commits

Author SHA1 Message Date
ethernet
59624b7ace tests: replace every bare host skipif with platforms()
The OS lanes are marker-driven: list_os_marked_tests.py picks the files
a lane imports from their platforms() specs and the lane selects with
-m platforms. A test gated with skipif(sys.platform != "win32") is
therefore never imported on the Windows lane and skipped everywhere else
— it runs on no host. skipif(sys.platform == "win32") tests were merely
invisible to the lane bookkeeping, but the rule the tree now follows is
one host marker, never a bare skipif.

Mechanical mapping, semantics preserved: skip-on-Windows → "posix",
skip-off-Windows → "windows", skip-off-Linux → "linux", skip-on-macOS →
"not macos". The former skip reasons stay as trailing comments. A
non-host condition (os.geteuid() == 0) stays a separate skipif beside
the marker, spelled getattr(os, "geteuid", ...) so the decorator still
imports on Windows.

Where the conversion would stack two platforms() marks on one test (the
conftest rejects that at collection) the narrower mark wins:
- test_update_wedged_gateway: the class is already platforms("linux");
  its per-test "needs UNIX sockets" marks were redundant and are gone.
- test_process_registry.TestSystemdCgroupIsolation: the class-level
  skip-on-Windows moves onto the 11 methods that had no host mark; the
  11 platforms("linux") methods keep theirs.
- test_file_ops_single_roundtrip: the two fifo tests drop their
  platforms("linux") in favour of the module's "posix" (mkfifo exists on
  macOS; both tests already skip when it does not).
- test_linux_desktop_entry / test_gateway_job_teardown_live: duplicate
  or wider marks removed.
2026-09-21 19:18:15 -04:00
kshitijk4poor
ba2707eacc test(anthropic): drop the private-helper ordering assertion the version check already implies 2026-09-20 17:58:45 +05:30
kshitijk4poor
6d360502c1 test(anthropic): drop the unused cache-reset fixture 2026-09-20 17:58:45 +05:30
kshitijk4poor
7b33e98909 test(anthropic): 8 → 2 invariant tests for Claude Code version detection
Keep the end-to-end GUI-launch case (bare PATH, CLI under a prefix → real
version) and rewrite the ordering test to the mixed-name case (PATH
claude-code beats a stale prefix claude). Real files in tmp_path and the
module's own prefix seam replace the process-wide expanduser/isfile/which
patches; the version cache is reset per test.
2026-09-20 17:58:45 +05:30
r00tedbrain-backup
0eb04ef51f fix(anthropic): detect Claude Code version outside PATH on GUI launches
Claude Code version detection resolved the CLI by bare name, which only
searches PATH. GUI-launched processes on macOS (the Electron desktop app,
LaunchAgents) inherit the bare /usr/bin:/bin:/usr/sbin:/sbin, which carries
none of the CLI's install prefixes. Detection found nothing there even with a
current CLI installed and fell through to the stale fallback constant, which
Anthropic rejects:

    HTTP 400: Claude Code 2.1.74 does not support this model;
    version 2.1.251 or newer is required.

Same machine, same CLI, same account: fine from a terminal, rejected from the
desktop app. Verified by running the unmodified function under each PATH —
GUI PATH returned 2.1.74, terminal PATH returned the installed 2.1.276.

Probe the well-known install prefixes in addition to PATH. Additive only: a
PATH hit still wins and is tried first, and on Windows no prefix resolves to a
file so detection falls back to the PATH lookup exactly as before.
2026-09-20 17:58:45 +05:30