Generic error message on test output is awkward

Say I run tuist test SomeTarget and a couple tests fail.

I see the test output, along with green & red icons indicating the status of each test. This returns a non-zero exit code, so the tuist cli interprets it as an error and prints out the command and some help text at the bottom:

  ✖ ErrorThe command xcodebuild test -scheme Tuist-Workspace -workspace /Users/bsch31/proj/develop/MyTuist.xcworkspace -destination id=7A115F28-357D-47E6-BB11-D77BADE46492 -only-testing SomeFeatureTests exited with error code 65 and message:2026-01-22 15:29:14.846 xcodebuild[97350:24063861] [MT] IDETestOperationsObserverDebug: 32.694 elapsed – Testing started completed.2026-01-22 15:29:14.846 xcodebuild[97350:24063861] [MT] IDETestOperationsObserverDebug: 0.000 sec, +0.000 sec – start2026-01-22 15:29:14.846 xcodebuild[97350:24063861] [MT] IDETestOperationsObserverDebug: 32.694 sec, +32.694 sec – end** TEST FAILED **

Sorry this didn’t work. Here’s what to try next:▸ If the error is actionable, address it▸ If the error is not actionable, let’s discuss it in the Troubleshooting & how to▸ If you are very certain it’s a bug, file an issue▸ Check out the logs at /Users/bsch31/.local/state/tuist/logs/82585406-3740-4A4C-B239-B698D2FF9D63.log

I think Tuist could be a bit smarter here and print out a summary and treat the test failure as not a failure of the actual tuist subcommand and adjust the output accordingly. (I realize for CI environments the exit code will still be non-zero and that’s fine)

This is a good idea. We use xcbeautify internally, which parses and identifies errors, so we should be able to hook into that and surface the actual failing tests at the bottom. What do you think @marekfort / @cschmatzler ? Our recommended approach to debug these scenarios will be using the web UI, where they’ll have way more data, including a break down of all the tests that executed, but I see the value of having that better presented in the logs too.