|  | # Copyright 2019 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/components.gni") | 
|  | import("//tools/fidl/measure-tape/measure_tape.gni") | 
|  |  | 
|  | measure_tape("measure_tape_for_case") { | 
|  | fidls = [ "//sdk/fidl/fuchsia.test" ] | 
|  | target_type = "fuchsia.test/Case" | 
|  | target_binding = "hlcpp" | 
|  | } | 
|  |  | 
|  | source_set("test_suite_lib") { | 
|  | sources = [ | 
|  | "test_suite.cc", | 
|  | "test_suite.h", | 
|  | ] | 
|  |  | 
|  | public_deps = [ | 
|  | ":measure_tape_for_case", | 
|  | "//sdk/fidl/fuchsia.test", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//src/lib/fxl", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | } | 
|  |  | 
|  | executable("passing-test-example-bin") { | 
|  | output_name = "passing-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "passing_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("no-onfinished-after-test-example-bin") { | 
|  | output_name = "no-onfinished-after-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "no_onfinished_after_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("disabled-test-example-bin") { | 
|  | output_name = "disabled-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "disabled_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("failing-test-example-bin") { | 
|  | output_name = "failing-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "failing_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("incomplete-test-example-bin") { | 
|  | output_name = "incomplete-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "incomplete_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("invalid-test-example-bin") { | 
|  | output_name = "invalid-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "invalid_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("no-test-example-bin") { | 
|  | output_name = "no-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "no_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("huge-test-example-bin") { | 
|  | output_name = "huge-test-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "huge_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("get-tests-hangs-example-bin") { | 
|  | output_name = "get-tests-hangs-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "get_tests_hangs_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("get-tests-closes-channel-example-bin") { | 
|  | output_name = "get-tests-closes-channel-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "get_tests_closes_channel_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("run-hangs-example-bin") { | 
|  | output_name = "run-hangs-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "run_hangs_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("run-closes-channel-example-bin") { | 
|  | output_name = "run-closes-channel-example" | 
|  | deps = [ ":test_suite_lib" ] | 
|  | sources = [ "run_closes_channel_example.cc" ] | 
|  | } | 
|  |  | 
|  | fuchsia_component("disabled-test-example") { | 
|  | deps = [ ":disabled-test-example-bin" ] | 
|  | manifest = "meta/disabled-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("failing-test-example") { | 
|  | deps = [ ":failing-test-example-bin" ] | 
|  | manifest = "meta/failing-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("get-tests-closes-channel-example") { | 
|  | deps = [ ":get-tests-closes-channel-example-bin" ] | 
|  | manifest = "meta/get-tests-closes-channel-example.cmx" | 
|  | } | 
|  |  | 
|  | fuchsia_component("get-tests-hangs-example") { | 
|  | deps = [ ":get-tests-hangs-example-bin" ] | 
|  | manifest = "meta/get-tests-hangs-example.cmx" | 
|  | } | 
|  |  | 
|  | fuchsia_component("huge-test-example") { | 
|  | deps = [ ":huge-test-example-bin" ] | 
|  | manifest = "meta/huge-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("incomplete-test-example") { | 
|  | deps = [ ":incomplete-test-example-bin" ] | 
|  | manifest = "meta/incomplete-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("invalid-test-example") { | 
|  | deps = [ ":invalid-test-example-bin" ] | 
|  | manifest = "meta/invalid-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("no-onfinished-after-test-example") { | 
|  | deps = [ ":no-onfinished-after-test-example-bin" ] | 
|  | manifest = "meta/no-onfinished-after-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("no-test-example") { | 
|  | deps = [ ":no-test-example-bin" ] | 
|  | manifest = "meta/no-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("passing-test-example") { | 
|  | deps = [ ":passing-test-example-bin" ] | 
|  | manifest = "meta/passing-test-example.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("passing-test-example-v1") { | 
|  | deps = [ ":passing-test-example-bin" ] | 
|  | manifest = "meta/passing-test-example.cmx" | 
|  | } | 
|  |  | 
|  | fuchsia_component("run-closes-channel-example") { | 
|  | deps = [ ":run-closes-channel-example-bin" ] | 
|  | manifest = "meta/run-closes-channel-example.cmx" | 
|  | } | 
|  |  | 
|  | fuchsia_component("run-hangs-example") { | 
|  | deps = [ ":run-hangs-example-bin" ] | 
|  | manifest = "meta/run-hangs-example.cmx" | 
|  | } | 
|  |  | 
|  | fuchsia_component("echo_test_client") { | 
|  | deps = [ "rust:echo_test_client" ] | 
|  | manifest = "meta/echo_test_client.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_component("echo_test_realm") { | 
|  | manifest = "meta/echo_test_realm.cml" | 
|  | } | 
|  |  | 
|  | fuchsia_test_package("example-tests") { | 
|  | test_components = [ ":echo_test_realm" ] | 
|  | deps = [ | 
|  | ":disabled-test-example", | 
|  | ":echo_test_client", | 
|  | ":failing-test-example", | 
|  | ":get-tests-closes-channel-example", | 
|  | ":get-tests-hangs-example", | 
|  | ":huge-test-example", | 
|  | ":incomplete-test-example", | 
|  | ":invalid-test-example", | 
|  | ":no-onfinished-after-test-example", | 
|  | ":no-test-example", | 
|  | ":passing-test-example", | 
|  | ":passing-test-example-v1", | 
|  | ":run-closes-channel-example", | 
|  | ":run-hangs-example", | 
|  | "//examples/components/routing/echo_server:echo_server_component", | 
|  | ] | 
|  | } | 
|  |  | 
|  | group("tests") { | 
|  | testonly = true | 
|  | deps = [ | 
|  | ":example-tests", | 
|  | "rust:tests", | 
|  | ] | 
|  | } |