Refactor rtc_unittests into several targets.

Also fix some warnings.

NOTRY=True
BUG=webrtc:6954

Review-Url: https://codereview.webrtc.org/2611663002
Cr-Commit-Position: refs/heads/master@{#15900}
diff --git a/webrtc/api/BUILD.gn b/webrtc/api/BUILD.gn
index 45fcd91..7fbcb5d 100644
--- a/webrtc/api/BUILD.gn
+++ b/webrtc/api/BUILD.gn
@@ -224,8 +224,6 @@
     sources = [
       "datachannel_unittest.cc",
       "dtmfsender_unittest.cc",
-      "fakemetricsobserver.cc",
-      "fakemetricsobserver.h",
       "jsepsessiondescription_unittest.cc",
       "localaudiosource_unittest.cc",
       "mediaconstraintsinterface_unittest.cc",
@@ -307,6 +305,7 @@
     }
 
     deps += [
+      ":fakemetricsobserver",
       ":libjingle_peerconnection",
       "..:webrtc_common",
       "../base:rtc_base_tests_utils",
@@ -338,4 +337,20 @@
       "//webrtc/test:test_support",
     ]
   }
+
+  rtc_source_set("fakemetricsobserver") {
+    testonly = true
+    sources = [
+      "fakemetricsobserver.cc",
+      "fakemetricsobserver.h",
+    ]
+    deps = [
+      ":libjingle_peerconnection",
+      "../base:rtc_base_approved",
+    ]
+    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" ]
+    }
+  }
 }