Relanding: Remove rtc_p2p_unittests from ortc_unittests and rtc_media_unittests

These tests are already built into rtc_unittests, so they end up being
run three times. Fixed by creating a "p2p_test_utils" target that
contains the test utils that ortc_unittests and rtc_media_unittests
depend on, but not the tests themselves.

BUG=None
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2820263004
Cr-Commit-Position: refs/heads/master@{#17752}
diff --git a/webrtc/media/BUILD.gn b/webrtc/media/BUILD.gn
index 328a10b..08ffa7d 100644
--- a/webrtc/media/BUILD.gn
+++ b/webrtc/media/BUILD.gn
@@ -452,7 +452,7 @@
       "../modules/audio_processing:audio_processing",
       "../modules/video_coding:video_coding_utility",
       "../modules/video_coding:webrtc_vp8",
-      "../p2p:rtc_p2p_unittests",
+      "../p2p:p2p_test_utils",
       "../system_wrappers:metrics_default",
       "../test:audio_codec_mocks",
       "../test:test_support",
diff --git a/webrtc/ortc/BUILD.gn b/webrtc/ortc/BUILD.gn
index 8c23502..1034da6 100644
--- a/webrtc/ortc/BUILD.gn
+++ b/webrtc/ortc/BUILD.gn
@@ -78,8 +78,8 @@
       "../base:rtc_base_approved",
       "../base:rtc_base_tests_utils",
       "../media:rtc_unittest_main",
+      "../p2p:p2p_test_utils",
       "../p2p:rtc_p2p",
-      "../p2p:rtc_p2p_unittests",
       "../pc:pc_test_utils",
       "../system_wrappers:metrics_default",
     ]
diff --git a/webrtc/p2p/BUILD.gn b/webrtc/p2p/BUILD.gn
index b458653..a31b7f1 100644
--- a/webrtc/p2p/BUILD.gn
+++ b/webrtc/p2p/BUILD.gn
@@ -142,18 +142,37 @@
 }
 
 if (rtc_include_tests) {
-  rtc_source_set("rtc_p2p_unittests") {
+  rtc_source_set("p2p_test_utils") {
     testonly = true
     sources = [
-      "base/asyncstuntcpsocket_unittest.cc",
-      "base/dtlstransportchannel_unittest.cc",
       "base/fakedtlstransport.h",
       "base/fakeicetransport.h",
       "base/fakepackettransport.h",
       "base/fakeportallocator.h",
       "base/faketransportcontroller.h",
-      "base/jseptransport_unittest.cc",
       "base/mockicetransport.h",
+      "base/testrelayserver.h",
+      "base/teststunserver.h",
+      "base/testturnserver.h",
+    ]
+
+    deps = [
+      ":rtc_p2p",
+      "//testing/gmock",
+    ]
+
+    if (!build_with_chromium && is_clang) {
+      # Suppress warnings from the Chromium Clang plugin (bugs.webrtc.org/163).
+      suppressed_configs += [ "//build/config/clang:find_bad_constructs" ]
+    }
+  }
+
+  rtc_source_set("rtc_p2p_unittests") {
+    testonly = true
+    sources = [
+      "base/asyncstuntcpsocket_unittest.cc",
+      "base/dtlstransportchannel_unittest.cc",
+      "base/jseptransport_unittest.cc",
       "base/p2ptransportchannel_unittest.cc",
       "base/packetlossestimator_unittest.cc",
       "base/port_unittest.cc",
@@ -166,9 +185,6 @@
       "base/stunrequest_unittest.cc",
       "base/stunserver_unittest.cc",
       "base/tcpport_unittest.cc",
-      "base/testrelayserver.h",
-      "base/teststunserver.h",
-      "base/testturnserver.h",
       "base/transportcontroller_unittest.cc",
       "base/transportdescriptionfactory_unittest.cc",
       "base/turnport_unittest.cc",
@@ -186,6 +202,7 @@
       ]
     }
     deps = [
+      ":p2p_test_utils",
       ":rtc_p2p",
       "../api:fakemetricsobserver",
       "//testing/gmock",