Move iOS tests to XCTest from gtest.

This enables tighter integration with XCode tooling and is a prereq
for adding UI tests.

BUG=webrtc:7150

Review-Url: https://codereview.webrtc.org/2697603002
Cr-Commit-Position: refs/heads/master@{#16609}
diff --git a/webrtc/webrtc.gni b/webrtc/webrtc.gni
index e6d746a..96975fa 100644
--- a/webrtc/webrtc.gni
+++ b/webrtc/webrtc.gni
@@ -13,6 +13,9 @@
 import("//build/config/ui.gni")
 import("//build_overrides/build.gni")
 import("//testing/test.gni")
+if (is_ios) {
+  import("//build/config/ios/rules.gni")
+}
 
 declare_args() {
   # Disable this to avoid building the Opus audio codec.
@@ -328,3 +331,29 @@
     }
   }
 }
+
+if (is_ios) {
+  set_defaults("rtc_ios_xctest_test") {
+    configs = rtc_add_configs
+    suppressed_configs = []
+  }
+
+  template("rtc_ios_xctest_test") {
+    ios_xctest_test(target_name) {
+      forward_variables_from(invoker,
+                             "*",
+                             [
+                               "configs",
+                               "public_configs",
+                               "suppressed_configs",
+                             ])
+      configs += invoker.configs
+      configs -= rtc_remove_configs
+      configs -= invoker.suppressed_configs
+      public_configs = [ rtc_common_inherited_config ]
+      if (defined(invoker.public_configs)) {
+        public_configs += invoker.public_configs
+      }
+    }
+  }
+}