|  | # 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("//build/package.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", | 
|  | "//src/lib/fxl", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | } | 
|  |  | 
|  | executable("passing-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "passing_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("no-onfinished-after-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "no_onfinished_after_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("disabled-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "disabled_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("failing-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "failing_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("incomplete-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | ] | 
|  | sources = [ "incomplete_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("invalid-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | ] | 
|  | sources = [ "invalid_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("no-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "no_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("huge-test-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "huge_test_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("get-tests-hangs-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "get_tests_hangs_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("get-tests-closes-channel-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "get_tests_closes_channel_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("run-hangs-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "run_hangs_example.cc" ] | 
|  | } | 
|  |  | 
|  | executable("run-closes-channel-example") { | 
|  | deps = [ | 
|  | ":test_suite_lib", | 
|  | "//sdk/lib/sys/cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-cpp", | 
|  | "//zircon/system/ulib/async-loop:async-loop-default", | 
|  | ] | 
|  | sources = [ "run_closes_channel_example.cc" ] | 
|  | } | 
|  |  | 
|  | group("all_bins") { | 
|  | testonly = true | 
|  | public_deps = [ | 
|  | ":disabled-test-example", | 
|  | ":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", | 
|  | ":run-closes-channel-example", | 
|  | ":run-hangs-example", | 
|  | "rust:all_bins", | 
|  | "//examples/components/routing/echo_server", | 
|  | ] | 
|  | } | 
|  |  | 
|  | package("example-tests") { | 
|  | testonly = true | 
|  | deps = [ ":all_bins" ] | 
|  |  | 
|  | binaries = [ | 
|  | { | 
|  | name = "passing-test-example" | 
|  | }, | 
|  | { | 
|  | name = "no-test-example" | 
|  | }, | 
|  | { | 
|  | name = "huge-test-example" | 
|  | }, | 
|  | { | 
|  | name = "disabled-test-example" | 
|  | }, | 
|  | { | 
|  | name = "failing-test-example" | 
|  | }, | 
|  | { | 
|  | name = "incomplete-test-example" | 
|  | }, | 
|  | { | 
|  | name = "get-tests-hangs-example" | 
|  | }, | 
|  | { | 
|  | name = "run-hangs-example" | 
|  | }, | 
|  | { | 
|  | name = "no-onfinished-after-test-example" | 
|  | }, | 
|  | { | 
|  | name = "get-tests-closes-channel-example" | 
|  | }, | 
|  | { | 
|  | name = "run-closes-channel-example" | 
|  | }, | 
|  | { | 
|  | name = "invalid-test-example" | 
|  | }, | 
|  | { | 
|  | name = "echo_test_client" | 
|  | }, | 
|  | { | 
|  | name = "echo_server" | 
|  | }, | 
|  | ] | 
|  |  | 
|  | tests = [ | 
|  | { | 
|  | name = "echo_test_realm" | 
|  | }, | 
|  | ] | 
|  |  | 
|  | meta = [ | 
|  | { | 
|  | path = "meta/passing-test-example.cmx" | 
|  | dest = "passing-test-example.cmx" | 
|  | }, | 
|  | { | 
|  | path = "meta/no-onfinished-after-test-example.cml" | 
|  | dest = "no-onfinished-after-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/passing-test-example.cml" | 
|  | dest = "passing-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/no-test-example.cml" | 
|  | dest = "no-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/huge-test-example.cml" | 
|  | dest = "huge-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/disabled-test-example.cml" | 
|  | dest = "disabled-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/failing-test-example.cml" | 
|  | dest = "failing-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/incomplete-test-example.cml" | 
|  | dest = "incomplete-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/get-tests-hangs-example.cmx" | 
|  | dest = "get-tests-hangs-example.cmx" | 
|  | }, | 
|  | { | 
|  | path = "meta/get-tests-closes-channel-example.cmx" | 
|  | dest = "get-tests-closes-channel-example.cmx" | 
|  | }, | 
|  | { | 
|  | path = "meta/run-closes-channel-example.cmx" | 
|  | dest = "run-closes-channel-example.cmx" | 
|  | }, | 
|  | { | 
|  | path = "meta/run-hangs-example.cmx" | 
|  | dest = "run-hangs-example.cmx" | 
|  | }, | 
|  | { | 
|  | path = "meta/invalid-test-example.cml" | 
|  | dest = "invalid-test-example.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/echo_test_realm.cml" | 
|  | dest = "echo_test_realm.cm" | 
|  | }, | 
|  | { | 
|  | path = "meta/echo_test_client.cml" | 
|  | dest = "echo_test_client.cm" | 
|  | }, | 
|  | { | 
|  | path = rebase_path( | 
|  | "//examples/components/routing/echo_server/meta/echo_server.cml") | 
|  | dest = "echo_server.cm" | 
|  | }, | 
|  | ] | 
|  | } | 
|  |  | 
|  | group("tests") { | 
|  | testonly = true | 
|  | deps = [ | 
|  | ":example-tests", | 
|  | "rust:tests", | 
|  | ] | 
|  | } |