From d207a39d098259573f799aa5e6a1acff725b61a1 Mon Sep 17 00:00:00 2001 From: denicija Date: Mon, 11 Sep 2017 06:43:28 -0700 Subject: [PATCH] Add |RTCUIApplicationStatusObserver sharedInstance| call in ios test AppDelegate. We want to perform the observation setup as soon as possible to avoid deadlocking, especially for test scenario where most of the work is done on main thread. BUG=webrtc:6634 Review-Url: https://codereview.webrtc.org/3012913002 Cr-Commit-Position: refs/heads/master@{#19771} --- webrtc/test/BUILD.gn | 3 +++ webrtc/test/ios/test_support.mm | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/webrtc/test/BUILD.gn b/webrtc/test/BUILD.gn index 9ec02902d9..dc696c43c4 100644 --- a/webrtc/test/BUILD.gn +++ b/webrtc/test/BUILD.gn @@ -119,6 +119,9 @@ if (is_ios) { "ios/test_support.h", "ios/test_support.mm", ] + deps = [ + "../sdk:common_objc", + ] } } diff --git a/webrtc/test/ios/test_support.mm b/webrtc/test/ios/test_support.mm index 9a9035612a..a01b03c9f0 100644 --- a/webrtc/test/ios/test_support.mm +++ b/webrtc/test/ios/test_support.mm @@ -12,6 +12,8 @@ #include "webrtc/test/ios/test_support.h" +#import "webrtc/sdk/objc/Framework/Classes/Common/RTCUIApplicationStatusObserver.h" + // Springboard will kill any iOS app that fails to check in after launch within // a given time. Starting a UIApplication before invoking TestSuite::Run // prevents this from happening. @@ -60,6 +62,11 @@ static char **g_argv; // root view controller. Set an empty one here. [_window setRootViewController:[[UIViewController alloc] init]]; + // We want to call `RTCUIApplicationStatusObserver sharedInstance` as early as + // possible in the application lifecycle to set observation properly. + __unused RTCUIApplicationStatusObserver *observer = + [RTCUIApplicationStatusObserver sharedInstance]; + // Queue up the test run. [self performSelector:@selector(runTests) withObject:nil afterDelay:0.1]; return YES;