Index: services/service_manager/public/tools/test/service_test.gni |
diff --git a/services/service_manager/public/tools/test/service_test.gni b/services/service_manager/public/tools/test/service_test.gni |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9f5508c552255345dbfdc22f44869e6eb7cc4168 |
--- /dev/null |
+++ b/services/service_manager/public/tools/test/service_test.gni |
@@ -0,0 +1,37 @@ |
+# Copyright 2017 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+import("//services/catalog/public/tools/catalog.gni") |
+import("//testing/test.gni") |
+ |
+# Generates a unittest binary with a baked-in Service Manager catalog manifest. |
+# |
+# Parameters: |
+# |
+# catalog |
+# The catalog target whose output should be used as the static catalog |
+# manifest for this test binary. |
+# |
+template("service_test") { |
+ assert(defined(invoker.catalog), "service_test must specify a catalog") |
+ |
+ catalog_source_target = "${target_name}__catalog_source" |
+ |
+ test(target_name) { |
+ forward_variables_from(invoker, "*", [ "catalog" ]) |
+ |
+ if (!defined(deps)) { |
+ deps = [] |
+ } |
+ deps += [ |
+ ":$catalog_source_target", |
+ "//services/service_manager/public/cpp/test:run_all_service_tests_with_catalog", |
+ ] |
+ } |
+ |
+ catalog_cpp_source(catalog_source_target) { |
+ catalog = invoker.catalog |
+ output_symbol_name = "service_manager::test::kServiceTestCatalog" |
+ } |
+} |