From 6a50a930ff7d6ba783fcac823a1fc306a55d0f7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Dudek?= Date: Thu, 24 Mar 2016 22:35:12 +0100 Subject: [PATCH] Fixed issue with early test observer registration preventing console output --- Sources/Nimble/objc/CurrentTestCaseTracker.m | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Sources/Nimble/objc/CurrentTestCaseTracker.m b/Sources/Nimble/objc/CurrentTestCaseTracker.m index 0d3b4dbbe..5dddc8bfe 100644 --- a/Sources/Nimble/objc/CurrentTestCaseTracker.m +++ b/Sources/Nimble/objc/CurrentTestCaseTracker.m @@ -12,7 +12,14 @@ @implementation CurrentTestCaseTracker (Register) + (void)load { CurrentTestCaseTracker *tracker = [CurrentTestCaseTracker sharedInstance]; - [[XCTestObservationCenter sharedTestObservationCenter] addTestObserver:tracker]; + // XCode 7.3 introduced a bug where early registration of a test observer prevented + // default XCTest test observer from being registered. That caused no longs being printed + // onto console, which in result broke several tools that relied on this. + // In order to go around the issue we're deferring registration to allow default + // test observer to register first. + dispatch_async(dispatch_get_main_queue(), ^{ + [[XCTestObservationCenter sharedTestObservationCenter] addTestObserver:tracker]; + }); } @end