Combined three mojo perf test binaries into one mojo_perftests

mojo_perftests includes tests from mojo_public_bindings_perftests,
mojo_public_system_perftests and mojo_message_pipe_perftests. Relevant
infrastructure files were updated (including
//src/build/android/pylib/gtest/gtest_test_instance.py).

Bug: 812773
Change-Id: I80fa1471a0c8c6c6949bade682a5391c9b40cae3
Reviewed-on: https://chromium-review.googlesource.com/933090
Commit-Queue: Oksana Zhuravlova <[email protected]>
Reviewed-by: Ken Rockot <[email protected]>
Reviewed-by: Dirk Pranke <[email protected]>
Cr-Commit-Position: refs/heads/master@{#539322}
diff --git a/BUILD.gn b/BUILD.gn
index 223589d..4eae7122 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -511,7 +511,7 @@
       "//components/network_hints/browser",
       "//content/public/app:browser",
       "//content/public/app:child",
-      "//mojo/edk/test:mojo_public_system_perftests",
+      "//mojo:mojo_perftests",
       "//services/service_manager/public/cpp",
       "//testing/gmock:gmock_main",
       "//third_party/breakpad:dump_syms($host_toolchain)",
diff --git a/build/android/pylib/gtest/gtest_test_instance.py b/build/android/pylib/gtest/gtest_test_instance.py
index c97fef4..e9bf3cf 100644
--- a/build/android/pylib/gtest/gtest_test_instance.py
+++ b/build/android/pylib/gtest/gtest_test_instance.py
@@ -31,7 +31,7 @@
   'base_unittests',  # file_locking_unittest.cc uses a child process.
   'ipc_perftests',
   'ipc_tests',
-  'mojo_message_pipe_perftests',
+  'mojo_perftests',
   'mojo_unittests',
   'net_unittests'
 ]
diff --git a/mojo/BUILD.gn b/mojo/BUILD.gn
index 7bb5cce0..664daace 100644
--- a/mojo/BUILD.gn
+++ b/mojo/BUILD.gn
@@ -27,12 +27,10 @@
 group("tests") {
   testonly = true
   deps = [
+    ":mojo_perftests",
     ":mojo_unittests",
     "//ipc:ipc_tests",
     "//mojo/common:mojo_common_unittests",
-    "//mojo/edk/system:mojo_message_pipe_perftests",
-    "//mojo/edk/test:mojo_public_bindings_perftests",
-    "//mojo/edk/test:mojo_public_system_perftests",
     "//services/service_manager/tests",
   ]
 }
@@ -46,3 +44,26 @@
     "//mojo/public/cpp/system/tests",
   ]
 }
+
+test("mojo_perftests") {
+  deps = [
+    "//mojo/edk/test:run_all_perftests",
+    "//mojo/edk/test:test_support",
+    "//mojo/public/c/system/tests:perftests",
+    "//mojo/public/cpp/bindings/tests:perftests",
+  ]
+
+  if (!is_ios) {
+    sources = [
+      "//mojo/edk/system/message_pipe_perftest.cc",
+    ]
+
+    deps += [
+      "//base",
+      "//base/test:test_support",
+      "//mojo/edk/system",
+      "//mojo/edk/system:test_utils",
+      "//testing/gtest",
+    ]
+  }
+}
diff --git a/mojo/edk/system/BUILD.gn b/mojo/edk/system/BUILD.gn
index 864ee5b..dfe6940 100644
--- a/mojo/edk/system/BUILD.gn
+++ b/mojo/edk/system/BUILD.gn
@@ -3,7 +3,6 @@
 # found in the LICENSE file.
 
 import("//build/config/nacl/config.gni")
-import("//testing/test.gni")
 import("../../../mojo/public/tools/bindings/mojom.gni")
 
 if (is_android) {
@@ -182,21 +181,3 @@
 
   allow_circular_includes_from = [ "//mojo/edk/embedder:embedder_unittests" ]
 }
-
-if (!is_ios) {
-  test("mojo_message_pipe_perftests") {
-    sources = [
-      "message_pipe_perftest.cc",
-    ]
-
-    deps = [
-      ":test_utils",
-      "//base",
-      "//base/test:test_support",
-      "//mojo/edk/system",
-      "//mojo/edk/test:run_all_perftests",
-      "//mojo/edk/test:test_support",
-      "//testing/gtest",
-    ]
-  }
-}
diff --git a/mojo/edk/test/BUILD.gn b/mojo/edk/test/BUILD.gn
index 1b805966..1b4f996 100644
--- a/mojo/edk/test/BUILD.gn
+++ b/mojo/edk/test/BUILD.gn
@@ -2,8 +2,6 @@
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
-import("//testing/test.gni")
-
 static_library("test_support") {
   testonly = true
   sources = [
@@ -90,23 +88,3 @@
     "test_support_impl.h",
   ]
 }
-
-# Public SDK test targets follow. These targets are not defined within the
-# public SDK itself as running the unittests requires the EDK.
-# TODO(vtl): These don't really belong here. (They should be converted to
-# apptests, but even apart from that these targets belong somewhere else.)
-
-test("mojo_public_bindings_perftests") {
-  deps = [
-    ":run_all_perftests",
-    "//mojo/edk/test:test_support",
-    "//mojo/public/cpp/bindings/tests:perftests",
-  ]
-}
-
-test("mojo_public_system_perftests") {
-  deps = [
-    ":run_all_perftests",
-    "//mojo/public/c/system/tests:perftests",
-  ]
-}
diff --git a/tools/determinism/deterministic_build_whitelist.pyl b/tools/determinism/deterministic_build_whitelist.pyl
index 9df92553..d8bbefd 100644
--- a/tools/determinism/deterministic_build_whitelist.pyl
+++ b/tools/determinism/deterministic_build_whitelist.pyl
@@ -270,9 +270,7 @@
     'midi_unittests.exe',
     'mini_installer.exe',
     'mksnapshot.exe',
-    'mojo_message_pipe_perftests.exe',
-    'mojo_public_bindings_perftests.exe',
-    'mojo_public_system_perftests.exe',
+    'mojo_perftests.exe',
     'mojo_unittests.exe',
     'mus_demo_library.dll',
     'nacl_irt_x86_32.nexe',