Enable more unittests on iOS, and disable those that fail on simulator
Tests enabled:
* modules_unittests
* ortc_unittests
* rtc_media_unittests
* rtc_unittests
* video_capture_tests
* video_engine_tests
BUG=webrtc:5566,webrtc:4752,webrtc:5568,webrtc:5569
Review-Url: https://codereview.webrtc.org/2938193002
Cr-Commit-Position: refs/heads/master@{#18710}
diff --git a/webrtc/media/BUILD.gn b/webrtc/media/BUILD.gn
index 2919618..304383b 100644
--- a/webrtc/media/BUILD.gn
+++ b/webrtc/media/BUILD.gn
@@ -443,9 +443,14 @@
"engine/webrtcvideocapturer_unittest.cc",
"engine/webrtcvideoencoderfactory_unittest.cc",
"engine/webrtcvideoengine_unittest.cc",
- "engine/webrtcvoiceengine_unittest.cc",
]
+ # TODO(kthelgason): Reenable this test on iOS.
+ # See bugs.webrtc.org/5569
+ if (!is_ios) {
+ sources += [ "engine/webrtcvoiceengine_unittest.cc" ]
+ }
+
if (rtc_enable_sctp) {
sources += [ "sctp/sctptransport_unittest.cc" ]
}
diff --git a/webrtc/media/engine/apm_helpers_unittest.cc b/webrtc/media/engine/apm_helpers_unittest.cc
index f7c418d..6845d9e 100644
--- a/webrtc/media/engine/apm_helpers_unittest.cc
+++ b/webrtc/media/engine/apm_helpers_unittest.cc
@@ -110,7 +110,10 @@
TEST(ApmHelpersTest, AgcStatus_DefaultMode) {
TestHelper helper;
GainControl* gc = helper.apm()->gain_control();
-#if defined(WEBRTC_IOS) || defined(WEBRTC_ANDROID)
+#if defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR
+ EXPECT_FALSE(gc->is_enabled());
+ EXPECT_EQ(GainControl::kAdaptiveDigital, gc->mode());
+#elif defined(WEBRTC_IOS) || defined(WEBRTC_ANDROID)
EXPECT_FALSE(gc->is_enabled());
EXPECT_EQ(GainControl::kFixedDigital, gc->mode());
#else
@@ -249,7 +252,14 @@
EXPECT_FALSE(vd->is_enabled());
}
-TEST(ApmHelpersTest, TypingDetectionStatus_EnableDisable) {
+// TODO(kthelgason): Reenable this test on simulator.
+// See bugs.webrtc.org/5569
+#if defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR
+#define MAYBE_TypingDetectionStatus_EnableDisable DISABLED_TypingDetectionStatus_EnableDisable
+#else
+#define MAYBE_TypingDetectionStatus_EnableDisable TypingDetectionStatus_EnableDisable
+#endif
+TEST(ApmHelpersTest, MAYBE_TypingDetectionStatus_EnableDisable) {
TestHelper helper;
VoiceDetection* vd = helper.apm()->voice_detection();
apm_helpers::SetTypingDetectionStatus(helper.apm(), true);
diff --git a/webrtc/modules/audio_device/BUILD.gn b/webrtc/modules/audio_device/BUILD.gn
index 511f159..c737ac3 100644
--- a/webrtc/modules/audio_device/BUILD.gn
+++ b/webrtc/modules/audio_device/BUILD.gn
@@ -307,7 +307,9 @@
"//webrtc/sdk/android:libjingle_peerconnection_java",
]
}
- if (is_ios) {
+ if (is_ios && !use_ios_simulator) {
+ # TODO(kthelgason): Reenable these tests on simulator.
+ # See bugs.webrtc.org/7812
sources += [ "ios/audio_device_unittest_ios.mm" ]
deps += [ "//third_party/ocmock" ]
}
diff --git a/webrtc/sdk/BUILD.gn b/webrtc/sdk/BUILD.gn
index 78e1002..9fc22aa 100644
--- a/webrtc/sdk/BUILD.gn
+++ b/webrtc/sdk/BUILD.gn
@@ -9,6 +9,7 @@
import("../webrtc.gni")
if (is_ios) {
import("//build/config/ios/rules.gni")
+ import("//build/config/ios/ios_sdk.gni")
}
declare_args() {
@@ -366,7 +367,6 @@
visibility = [ "..:rtc_unittests" ]
}
sources = [
- "objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm",
"objc/Framework/UnitTests/RTCConfigurationTest.mm",
"objc/Framework/UnitTests/RTCDataChannelConfigurationTest.mm",
"objc/Framework/UnitTests/RTCIceCandidateTest.mm",
@@ -376,6 +376,13 @@
"objc/Framework/UnitTests/RTCSessionDescriptionTest.mm",
"objc/Framework/UnitTests/avformatmappertests.mm",
]
+ if (is_ios &&
+ !(use_ios_simulator &&
+ # The tests crash on these simulator versions:
+ (ios_sdk_version == "10.0" || ios_sdk_version == "10.1"))) {
+ sources +=
+ [ "objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm" ]
+ }
# |-ObjC| flag needed to make sure category method implementations
# are included:
diff --git a/webrtc/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm b/webrtc/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm
index de69d2e..affd452 100644
--- a/webrtc/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm
+++ b/webrtc/sdk/objc/Framework/UnitTests/RTCCameraVideoCapturerTests.mm
@@ -217,42 +217,50 @@
@end
-TEST(RTCCameraVideoCapturerTests, SetupSession) {
+// TODO(kthelgason): Reenable these tests on simulator.
+// See bugs.webrtc.org/7813
+#if TARGET_IPHONE_SIMULATOR
+#define MAYBE_TEST(f, name) TEST(f, DISABLED_##name)
+#else
+#define MAYBE_TEST TEST
+#endif
+
+MAYBE_TEST(RTCCameraVideoCapturerTests, SetupSession) {
RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
[test setup];
[test testSetupSession];
[test tearDown];
}
-TEST(RTCCameraVideoCapturerTests, SetupSessionOutput) {
+MAYBE_TEST(RTCCameraVideoCapturerTests, SetupSessionOutput) {
RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
[test setup];
[test testSetupSessionOutput];
[test tearDown];
}
-TEST(RTCCameraVideoCapturerTests, SupportedFormatsForDevice) {
+MAYBE_TEST(RTCCameraVideoCapturerTests, SupportedFormatsForDevice) {
RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
[test setup];
[test testSupportedFormatsForDevice];
[test tearDown];
}
-TEST(RTCCameraVideoCapturerTests, CaptureDevices) {
+MAYBE_TEST(RTCCameraVideoCapturerTests, CaptureDevices) {
RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
[test setup];
[test testCaptureDevices];
[test tearDown];
}
-TEST(RTCCameraVideoCapturerTests, DelegateCallbackNotCalledWhenInvalidBuffer) {
+MAYBE_TEST(RTCCameraVideoCapturerTests, DelegateCallbackNotCalledWhenInvalidBuffer) {
RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
[test setup];
[test testDelegateCallbackNotCalledWhenInvalidBuffer];
[test tearDown];
}
-TEST(RTCCameraVideoCapturerTests, DelegateCallbackWithValidBufferAndOrientationUpdate) {
+MAYBE_TEST(RTCCameraVideoCapturerTests, DelegateCallbackWithValidBufferAndOrientationUpdate) {
RTCCameraVideoCapturerTests *test = [[RTCCameraVideoCapturerTests alloc] init];
[test setup];
[test testDelegateCallbackWithValidBufferAndOrientationUpdate];
diff --git a/webrtc/video/end_to_end_tests.cc b/webrtc/video/end_to_end_tests.cc
index 0293f7c..68931ac 100644
--- a/webrtc/video/end_to_end_tests.cc
+++ b/webrtc/video/end_to_end_tests.cc
@@ -61,9 +61,11 @@
#include "webrtc/test/testsupport/perf_test.h"
#include "webrtc/video/transport_adapter.h"
+// Flaky under MemorySanitizer: bugs.webrtc.org/7419
#if defined(MEMORY_SANITIZER)
-// Flaky under MemorySanitizer, see
-// https://bugs.chromium.org/p/webrtc/issues/detail?id=7419
+#define MAYBE_InitialProbing DISABLED_InitialProbing
+// Fails on iOS bots: bugs.webrtc.org/7851
+#elif defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR
#define MAYBE_InitialProbing DISABLED_InitialProbing
#else
#define MAYBE_InitialProbing InitialProbing
@@ -2343,6 +2345,9 @@
// Fails on Linux MSan: bugs.webrtc.org/7428
#if defined(MEMORY_SANITIZER)
TEST_F(EndToEndTest, DISABLED_TriggerMidCallProbing) {
+// Fails on iOS bots: bugs.webrtc.org/7851
+#elif defined(TARGET_IPHONE_SIMULATOR) && TARGET_IPHONE_SIMULATOR
+TEST_F(EndToEndTest, DISABLED_TriggerMidCallProbing) {
#else
TEST_F(EndToEndTest, TriggerMidCallProbing) {
#endif