Reland "Switch from "rtc_ios_xctest_test" to "rtc_test"."

This is a reland of 7a73c772e21983857e46cb4fcedc6cfa3f42c03e

The change to fix the downstream issue is just the switch from
"test" to "rtc_test" which is a GN template that expands to
"test".

Original change's description:
> Switch from "rtc_ios_xctest_test" to "test".
>
> Using the "test" GN template instead of the "ios_xctest_test" one we
> will get iOS support for isolates via MB and GN for free, making it
> easier to migrate the iOS recipe and fix bugs.webrtc.org/11604.
>
> Bug: webrtc:11881
> Change-Id: I72b90f8494c473fa567e6296caf7a771e4caba92
> Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/182680
> Reviewed-by: Dirk Pranke <dpranke@google.com>
> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#32064}

Bug: webrtc:11881
Change-Id: Ia5338859f4e893b9f19bcca6b26b8cf66d5984e8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/183766
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/master@{#32075}
diff --git a/examples/BUILD.gn b/examples/BUILD.gn
index 557e31f..43d961c 100644
--- a/examples/BUILD.gn
+++ b/examples/BUILD.gn
@@ -632,7 +632,7 @@
         ]
       }
 
-      rtc_ios_xctest_test("apprtcmobile_tests") {
+      rtc_test("apprtcmobile_tests") {
         info_plist = "objc/AppRTCMobile/ios/Info.plist"
         sources = [ "objc/AppRTCMobile/tests/main.mm" ]
         deps = [
diff --git a/sdk/BUILD.gn b/sdk/BUILD.gn
index c87dcbe..40a7894 100644
--- a/sdk/BUILD.gn
+++ b/sdk/BUILD.gn
@@ -6,7 +6,9 @@
 # in the file PATENTS.  All contributing project authors may
 # be found in the AUTHORS file in the root of the source tree.
 
+import("//testing/test.gni")
 import("../webrtc.gni")
+
 if (is_ios) {
   import("//build/config/ios/ios_sdk.gni")
   import("//build/config/ios/rules.gni")
@@ -1165,7 +1167,7 @@
         }
 
         # These tests use static linking.
-        rtc_ios_xctest_test("sdk_unittests") {
+        rtc_test("sdk_unittests") {
           info_plist = "//test/ios/Info.plist"
           sources = [ "objc/unittests/main.mm" ]
 
@@ -1181,8 +1183,9 @@
         }
 
         # These tests link to the framework.
-        rtc_ios_xctest_test("sdk_framework_unittests") {
+        rtc_test("sdk_framework_unittests") {
           info_plist = "//test/ios/Info.plist"
+          cflags_objc = [ "-Wno-objc-property-no-attribute" ]
           sources = [
             "objc/unittests/RTCDoNotPutCPlusPlusInFrameworkHeaders_xctest.m",
             "objc/unittests/main.mm",
@@ -1669,8 +1672,8 @@
 
     rtc_library("video_toolbox_cc") {
       visibility = [
-        ":videotoolbox_objc",
         ":sdk_unittests_sources",
+        ":videotoolbox_objc",
       ]
       sources = [
         "objc/components/video_codec/helpers.cc",
diff --git a/tools_webrtc/mb/gn_isolate_map.pyl b/tools_webrtc/mb/gn_isolate_map.pyl
index dba0d97..fcef85b 100644
--- a/tools_webrtc/mb/gn_isolate_map.pyl
+++ b/tools_webrtc/mb/gn_isolate_map.pyl
@@ -37,7 +37,7 @@
   },
   "apprtcmobile_tests": {
     "label": "//examples:apprtcmobile_tests",
-    "type": "raw",
+    "type": "console_test_launcher",
   },
   "audio_decoder_unittests": {
     "label": "//modules/audio_coding:audio_decoder_unittests",
@@ -108,11 +108,11 @@
   },
   "sdk_framework_unittests": {
     "label": "//sdk:sdk_framework_unittests",
-    "type": "raw",
+    "type": "console_test_launcher",
   },
   "sdk_unittests": {
     "label": "//sdk:sdk_unittests",
-    "type": "raw",
+    "type": "console_test_launcher",
   },
   "slow_tests": {
     "label": "//:slow_tests",
diff --git a/tools_webrtc/mb/mb_config.pyl b/tools_webrtc/mb/mb_config.pyl
index 20755df..b30f9d7 100644
--- a/tools_webrtc/mb/mb_config.pyl
+++ b/tools_webrtc/mb/mb_config.pyl
@@ -392,31 +392,35 @@
 
     # iOS
     'ios_debug_bot_arm': [
-      'ios', 'debug_bot', 'arm', 'no_ios_code_signing', 'ios_use_goma_rbe'
+      'ios', 'debug_bot', 'arm', 'no_ios_code_signing', 'ios_use_goma_rbe',
+      'xctest',
     ],
     'ios_release_bot_arm': [
-      'ios', 'release_bot', 'arm', 'no_ios_code_signing', 'ios_use_goma_rbe'
+      'ios', 'release_bot', 'arm', 'no_ios_code_signing', 'ios_use_goma_rbe',
+      'xctest',
     ],
     'ios_debug_bot_arm64': [
-      'ios', 'debug_bot', 'arm64', 'no_ios_code_signing', 'ios_use_goma_rbe'
+      'ios', 'debug_bot', 'arm64', 'no_ios_code_signing', 'ios_use_goma_rbe',
+      'xctest',
     ],
     'ios_release_bot_arm64': [
-      'ios', 'release_bot', 'arm64', 'no_ios_code_signing', 'ios_use_goma_rbe'
+      'ios', 'release_bot', 'arm64', 'no_ios_code_signing', 'ios_use_goma_rbe',
+      'xctest',
     ],
     'ios_internal_debug_bot_arm64': [
       'ios', 'debug_bot', 'arm64', 'ios_use_goma_rbe',
-      'ios_code_signing_identity_description',
+      'ios_code_signing_identity_description', 'xctest',
     ],
     'ios_internal_release_bot_arm64': [
       'ios', 'release_bot', 'arm64', 'ios_use_goma_rbe',
-      'ios_code_signing_identity_description',
+      'ios_code_signing_identity_description', 'xctest',
     ],
     'ios_internal_pure_release_bot_arm64': [
       'ios', 'pure_release_bot', 'arm64', 'ios_use_goma_rbe',
-      'ios_code_signing_identity_description',
+      'ios_code_signing_identity_description', 'xctest',
     ],
     'ios_debug_bot_x64': [
-      'ios', 'debug_bot', 'x64', 'ios_use_goma_rbe'
+      'ios', 'debug_bot', 'x64', 'ios_use_goma_rbe', 'xctest',
     ],
 
     # More configs
@@ -632,5 +636,9 @@
     'win_undef_unicode': {
       'gn_args': 'rtc_win_undef_unicode=true',
     },
+
+    'xctest': {
+      'gn_args': 'enable_run_ios_unittests_with_xctest=true',
+    },
   },
 }
diff --git a/webrtc.gni b/webrtc.gni
index 420fb7f..c0d8093 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -879,35 +879,6 @@
 }
 
 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",
-                               "visibility",
-                             ])
-      forward_variables_from(invoker, [ "visibility" ])
-      if (!defined(visibility)) {
-        visibility = webrtc_default_visibility
-      }
-      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
-      }
-    }
-  }
-
   # TODO: Generate module.modulemap file to enable use in Swift
   # projects. See "mac_framework_bundle_with_umbrella_header".
   template("ios_framework_bundle_with_umbrella_header") {