getsentry / getsentry/XcodeBuildMCP

test_sim reports SUCCEEDED with 0 tests when per-call projectPath is ignored

Offen
#517 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
6.4k
Forks
319
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Summary

`test_sim` appears to ignore a per-call `projectPath` and use the session default instead. When the two differ, it reported `SUCCEEDED` having run **zero tests**.

## What happened

I had several agents working concurrently in separate git worktrees of one repo. Session defaults were set once, pointing `projectPath` at the main checkout:

```
session_set_defaults
projectPath: /src/PinPoint.xcodeproj
scheme: PinPoint
simulatorName: iPhone 17 Pro
```

An agent working in `/.claude/worktrees/agent-XXXX/` called `test_sim` with its own worktree's `projectPath` and an `-only-testing` filter for a suite that exists **only** in that worktree. The call returned `SUCCEEDED` with 0 tests passed and 0 failed.

The suite it was asked to run did not exist in the project it actually built, so there was nothing to run and nothing to fail. The agent's only clue was the zero count; the status field said success.

## Why this is worth fixing above its size

A test tool that returns `SUCCEEDED` without running the requested tests is the worst available failure mode — it is indistinguishable from a pass at the point where a caller decides whether work is done. In an agent workflow nothing reads the count; it reads the status. Two of my agents would have reported tickets complete on the strength of it. Both worked around it by driving `xcodebuild` directly with their own `-derivedDataPath`, which is the right answer but only because they noticed.

## Suggested

Either honour a per-call `projectPath` over the session default, or fail loudly when one is passed and cannot be honoured. Failing that, a zero-test run should not report as `SUCCEEDED` — an `-only-testing` filter matching nothing is an error, not a pass.

## Environment

Multiple concurrent git worktrees of one project, one shared MCP session, iOS simulator destination. Repointing the shared session defaults was not an option, since a concurrent agent was relying on them.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Start at the test_sim tool and its handling of the per-call projectPath alongside session_set_defaults. Reproduce the report with separate worktree paths and an -only-testing filter, then verify that the requested project is used or that a zero-test filtered run fails instead of returning SUCCEEDED.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
devtools, mobile-dev, testing-qa
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Aktiv
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
52/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.