Crash reports not attached to xcresult when running with xcodebuild

Hi there,

I'm trying to figure out an issue I'm seeing where the xcresult bundle isn't including the crash report after building and running with xcodebuild.

I have a simple test app that has a single button that intentionally crashes and an XCUI test to run it. The UI Test also passes which can probably be explained by the lack of any asserts after clicking the button, but I assumed the app crashing would fail the test.

The app itself is a Mac OS app with a single button called "Crash" that links to a method:

- (IBAction)crash:(id)sender
{
     @throw NSInternalInconsistencyException;
}

and a test method:

XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];

XCUIElement *crashButton = [[XCUIApplication alloc] init].windows[@"Window"].buttons[@"Crash"];
XCTAssert([crashButton exists]);

[crashButton click];

There is an ips file corresponding to the crash in ~/Library/Logs/DiagnosticReports so the crash gets written, but the test passes.

After using xcresulttool to dump the Diagnostics folder from the xcresult bundle, I see these lines in the session log:

10:59:20.790 xcodebuild[23184:6634391] Handling Crash: MacAppTest (23189) main. libsystem_c.dylib: abort() called
10:59:20.792 MacAppTestUITests-Runner[23188:6635181] Process crashed with pid:23189 path:/Users/USER/Library/Developer/Xcode/DerivedData/MacAppTest-dxrjhasbuvyffhenipmdemzdpdht/Build/Products/Debug/MacAppTest.app/Contents/MacOS/MacAppTest bundleID:com.company.MacAppTest summary:main
10:59:20.792 MacAppTestUITests-Runner[23188:6635181] Ignoring crash for com.company.MacAppTest:23189 because we are not currently tracking it
10:59:21.371 MacAppTestUITests-Runner[23188:6634605] Returning result XCTWaiterResultCompleted for waiter <XCTWaiter: 0x6000025fd4d0>
10:59:21.371 MacAppTestUITests-Runner[23188:6634605] Wait <XCTWaiterWait: 0x600003e1b540> completed after 1.003s
10:59:21.371 MacAppTestUITests-Runner[23188:6634605] cleaning up delay

The Ignoring crash for com.company.MacAppTest:23189 because we are not currently tracking it is what I suspect is the issue. How can I get the UITest to track the app so that when it crashes, the test fails?

Some other lines from the logarchive file that may be helpful:

2024-02-14 10:59:20.612346 -0800	osanalyticshelper	xpc log creation type 309 result success: /Users/<REDACTED>/Library/Logs/DiagnosticReports/MacAppTest-2024-02-14-105920.ips
2024-02-14 10:59:20.613030 -0800	testmanagerd	Calling new file handler <__NSMallocBlock__: 0x6000031761f0> for MacAppTest-2024-02-14-105920.ips
2024-02-14 10:59:20.614240 -0800	ReportCrash	client log create type 309 result success: /Users/<REDACTED>/Library/Logs/DiagnosticReports/MacAppTest-2024-02-14-105920.ips
2024-02-14 10:59:20.615417 -0800	testmanagerd	Read crash report from /Users/<REDACTED>/Library/Logs/DiagnosticReports/MacAppTest-2024-02-14-105920.ips, got 17327 bytes of data

Thanks!

Crash reports not attached to xcresult when running with xcodebuild
 
 
Q