test_sim reports SUCCEEDED with 0 tests when per-call projectPath is ignored
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 52/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- devtools, mobile-dev, testing-qa
Research direction
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.
Written by the indexing model from the issue text.
Description
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: <repo>/src/PinPoint.xcodeproj
scheme: PinPoint
simulatorName: iPhone 17 Pro
An agent working in <repo>/.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.
- Dominant language
- TypeScript
- Stars
- 6.4k
- Forks
- 320
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from getsentry/XcodeBuildMCP
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
getsentry/XcodeBuildMCP#520 ·
-
Warden weekly sweep Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
getsentry/XcodeBuildMCP#495 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
getsentry/XcodeBuildMCP#537 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
getsentry/XcodeBuildMCP#535 ·
-
Difficulty 5/5 Over a week Newbie friendliness 28/100
getsentry/XcodeBuildMCP#534 ·
All issues in getsentry/XcodeBuildMCP
Similar issues
-
clawsweeper:linked-pr-open clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:message-loss issue-rating: 🦞 diamond lobster maturity:stable P2
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#616 ·
-
ZCode 3.14.3 に対応する Open
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
supermomonga/zcode-acp#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
growthbook/growthbook#7100 ·
-
triage
Difficulty 1/5 1-3 hours Newbie friendliness 88/100