| # Copyright 2020 The Fuchsia 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("//src/sys/build/fuchsia_component.gni") |
| |
| template("isolated_devmgr_unittest_v2_component") { |
| if (!defined(invoker.manifest)) { |
| generated_target = "${target_name}_generated_manifest" |
| manifest = "$target_out_dir/${generated_target}.cml" |
| generated_file(generated_target) { |
| contents = { |
| include = [ "sdk/lib/diagnostics/syslog/client.shard.cml" ] |
| program = { |
| binary = invoker.executable_path |
| } |
| children = [ |
| { |
| name = "isolated-devmgr" |
| url = "fuchsia-pkg://fuchsia.com/isolated-devmgr#meta/isolated-devmgr.cm" |
| startup = "eager" |
| }, |
| ] |
| capabilities = [ |
| { |
| protocol = "fuchsia.test.Suite" |
| }, |
| ] |
| use = [ |
| { |
| if (defined(invoker.runner)) { |
| runner = invoker.runner |
| } else { |
| runner = "gtest_runner" |
| } |
| }, |
| { |
| protocol = [ "fuchsia.process.Launcher" ] |
| }, |
| { |
| protocol = "fuchsia.sys2.Realm" |
| from = "framework" |
| }, |
| ] |
| offer = [ |
| { |
| protocol = [ |
| "fuchsia.logger.LogSink", |
| "fuchsia.process.Launcher", |
| "fuchsia.sys.Launcher", |
| ] |
| from = "parent" |
| to = [ "#isolated-devmgr" ] |
| }, |
| ] |
| expose = [ |
| { |
| protocol = "fuchsia.test.Suite" |
| from = "self" |
| }, |
| ] |
| } |
| outputs = [ "$manifest" ] |
| output_conversion = "json" |
| testonly = true |
| visibility = [ ":*" ] |
| } |
| } |
| fuchsia_component(target_name) { |
| testonly = true |
| forward_variables_from(invoker, |
| [ |
| "deps", |
| "manifest", |
| "visibility", |
| "component_name", |
| ]) |
| if (defined(generated_target)) { |
| deps += [ ":$generated_target" ] |
| } |
| } |
| } |