feat(events): emit per-test timing in test results#339
Open
codeman9 wants to merge 7 commits intogetsentry:mainfrom
Open
feat(events): emit per-test timing in test results#339codeman9 wants to merge 7 commits intogetsentry:mainfrom
codeman9 wants to merge 7 commits intogetsentry:mainfrom
Conversation
Emit a test-case-result event for every individual test case (passed, failed, skipped) with its duration. Previously only failures carried per-test timing; passing tests were reduced to aggregate counters.
Track TestCaseResultEvent in XcodebuildRunState so downstream consumers can access per-test timing data.
Render a Test Results section before the summary line showing each test case with its status icon, suite/test name, and duration.
…tput Per-test timing is opt-in via the showTestResults session default or XCODEBUILDMCP_SHOW_TEST_RESULTS env var. When disabled (the default), only the aggregate summary line is shown.
commit: |
Fixes a bug where the interactive CLI text path did not read showTestResults from the session store, so per-test results were never shown even when the feature was enabled.
Contributor
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a38d806. Configure here.
Avoid accumulating test-case-result events when showTestResults is disabled, matching the existing suppressWarnings collection pattern.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Emit a
test-case-resultpipeline event for every individual test case (passed, failed, skipped) with its duration. Previously onlyTestFailureEventcarried per-test timing; passing and skipped tests were reduced to aggregate counters inTestProgressEvent, discarding the duration that xcodebuild already provides.The new
TestCaseResultEventis emitted from bothxcodebuild-event-parserandswift-testing-event-parser, collected inXcodebuildRunState, and rendered as a per-test timing breakdown before the summary line. The event carriessuite,test,status, anddurationMs.Per-test output is opt-in via the
showTestResultssession default orXCODEBUILDMCP_SHOW_TEST_RESULTSenv var. When disabled (the default), only the aggregate summary line is shown.Example output when enabled:
All 1446 tests pass (6 new). Verified against a real iOS project (201 tests).