XCResultKit
XCResultKit copied to clipboard
Update ActionTestFailureSummary for Xcode 14 and introduce Sourcery
Background:
xcresulttool 3.39 removed com.apple.dt.xctest.activity-type.testAssertionFailure from ActionTestSummary, meaning we're now more reliant on ActionTestFailureSummary to provide failure details.
Changes:
- Update
ActionTestFailureSummaryto include:- uuid
- issueType
- detailedDescription
- attachments
- sourceCodeContext
- timestamp
- isTopLevelFailure
- Introduce Sourcery to automatically generate initializers
- Create
XCResultObjectGeneratedprotocol to generateXCResultObjectconformance
Test:
- Verify no regression to xcresult parsing for successful runs
- Verify
ActionTestFailureSummaryis populated with all available failure data
@tylervick Thanks for the PR! Check out #42 also as I added all the latest objects & fields that Xcode 14 is using. That does have the changes to ActionTestFailureSummary added.
I'm almost thinking what we should do is create a release with all the new fields (possibly from #42), then move the Sourcery changes as a separate bit of work so we can have time to refine that implementation. And chat more about using Sourcery long term. But open to other ideas.
Hey @davidahouse thanks for the quick review! I agree with this rollout plan - there's also potential to generate the base objects as well after parsing the output from xcresulttool.
Let me know if I can be of any help with the WIP PR - thanks again!
@tylervick I've merged in the update for Xcode 14 and cut a new release v1.0.0. I think next step I'd like to take a stab at generating the models from the schema export from xcresulttool (as you mentioned above). I think we can have just a simple standalone app that can generate this. Need to decide if it belongs in this repo, or a separate one however. 🤔