Repository navigation
Fixes two cases in which the test process crashed instead of reporting a failure.
Swift Testing in Swift 6.1 traps while printing a failed expectation whose comment is empty. The Swift Testing matchers passed their message argument as the comment, and most of them default it to an empty string, so a failed expectEqualError, expectEqualImage, expectHaveReceived, expectThrows or expectThrowsAssertion called without a message terminated the test process. An empty message now attaches no comment in every Swift Testing matcher.
expectThrowsAssertion and XCTAssertThrowsAssertion now catch traps one at a time across the process. CwlPreconditionTesting's catchBadInstruction(in:) turns exclusivity checking off through a process-wide flag while its block runs. When tests that Swift Testing runs in parallel caught traps at the same time, one call could turn the check back on while another block was still running, and the process crashed on a later memory access.