| # Copyright 2018 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/components.gni") |
| import("//build/config.gni") |
| import("//build/test.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":netstack-c-api-tests", |
| "benchmarks", |
| "dhcp_interop:dhcp_integration_tests", |
| "getifaddrs:tests", |
| "integration:tests", |
| ] |
| if (host_os == "linux") { |
| deps += [ |
| ":netstack_bsdsocket_c_api_test($host_toolchain)", |
| ":netstack_external_network_test_client($host_toolchain)", |
| ":netstack_if_nameindex_test($host_toolchain)", |
| ] |
| } |
| } |
| |
| fuchsia_component("device_name_provider") { |
| testonly = true |
| manifest = "meta/device_name_provider.cmx" |
| deps = [ "//src/bringup/bin/device-name-provider" ] |
| } |
| |
| test("netstack_bsdsocket_c_api_test") { |
| sources = [ |
| "bsdsocket_test.cc", |
| "util.cc", |
| "util.h", |
| ] |
| |
| deps = [ |
| "//src/lib/fxl/test:gtest_main", |
| "//zircon/public/lib/fbl", |
| ] |
| |
| # TODO(fxbug.dev/58162): delete the below and fix compiler warnings |
| configs += [ "//build/config:Wno-conversion" ] |
| } |
| |
| test("netstack_if_nameindex_test") { |
| sources = [ "if_nameindex_test.cc" ] |
| |
| deps = [ "//src/lib/fxl/test:gtest_main" ] |
| } |
| |
| test("netstack_external_network_test_client") { |
| sources = [ "external_network_test_client.cc" ] |
| |
| deps = [ |
| "//src/lib/fxl/test:gtest_main", |
| "//zircon/public/lib/fbl", |
| ] |
| } |
| |
| test("netstack_fuchsia_c_api_test") { |
| sources = [ |
| "fdio_test.cc", |
| "util.cc", |
| "util.h", |
| ] |
| |
| deps = [ |
| "//sdk/fidl/fuchsia.posix.socket:fuchsia.posix.socket_llcpp", |
| "//sdk/lib/fdio", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/predicates", |
| "//zircon/public/lib/fbl", |
| "//zircon/public/lib/sync", |
| ] |
| } |
| |
| test("netstack_no_network_test") { |
| sources = [ "no_network_test.cc" ] |
| |
| deps = [ "//src/lib/fxl/test:gtest_main" ] |
| } |
| |
| test("name_provider_service_not_present_test") { |
| sources = [ "name_provider_service_not_present_test.cc" ] |
| |
| deps = [ |
| "//sdk/fidl/fuchsia.device", |
| "//src/lib/fxl/test:gtest_main", |
| ] |
| } |
| |
| # This target contains the test package netstack_c_api_tests and the |
| # package dependencies needed in the image/universe to run the tests within it. |
| # We can remove this once all the dependencies move to the new build templates |
| # so we can include dependent components in the test package. Note, there's |
| # currently no way to express a dependency between packages in the build |
| # system, so we aggregate all the package dependencies in this group target. |
| # See bug 36293 for more details. |
| group("netstack-c-api-tests") { |
| testonly = true |
| deps = [ |
| ":netstack-c-api-tests-inner", |
| |
| # netemul-runner is used to create hermetic test environments. |
| "//src/connectivity/network/testing/netemul/runner/runner:netemul-runner", |
| |
| # cat is used to test FD passing. |
| "//third_party/sbase:cat", |
| ] |
| } |
| |
| fuchsia_component("connect") { |
| testonly = true |
| manifest = "meta/connect.cmx" |
| deps = [ "connect" ] |
| } |
| |
| fuchsia_component("connect_test") { |
| testonly = true |
| deps = [ ":connect" ] |
| manifest = "meta/connect_test.cmx" |
| } |
| |
| fuchsia_component("netstack_external_network_test_client_component") { |
| testonly = true |
| component_name = "netstack_external_network_test_client" |
| deps = [ ":netstack_external_network_test_client" ] |
| manifest = "meta/netstack_external_network_test_client.cmx" |
| } |
| |
| fuchsia_unittest_component("netstack_external_network_test") { |
| deps = [ ":netstack_external_network_test_client_component" ] |
| manifest = "meta/netstack_external_network_test.cmx" |
| } |
| |
| tests = [ |
| "name_provider_service_not_present", |
| "netstack_bsdsocket_c_api", |
| "netstack_fuchsia_c_api", |
| "netstack_if_nameindex", |
| "netstack_no_network", |
| ] |
| |
| foreach(test, tests) { |
| name = "${test}_test" |
| fuchsia_unittest_component("${name}_component") { |
| component_name = name |
| deps = [ ":${name}" ] |
| manifest = "meta/${name}.cmx" |
| } |
| } |
| |
| # Same as netstack_bsdsocket_c_api_test but with its environment set to use the legacy FIDL. |
| # |
| # TODO(https://fxbug.dev/44347): Remove after ABI transition. |
| fuchsia_test_component( |
| "netstack_bsdsocket_c_api_legacy_sockopt_fidl_test_component") { |
| component_name = "netstack_bsdsocket_c_api_legacy_sockopt_fidl_test" |
| deps = [ ":netstack_bsdsocket_c_api_test" ] |
| manifest = "meta/netstack_bsdsocket_c_api_legacy_sockopt_fidl_test.cmx" |
| } |
| |
| fuchsia_test_package("netstack-c-api-tests-inner") { |
| package_name = "netstack-c-api-tests" |
| |
| test_components = [ |
| ":connect_test", |
| ":netstack_bsdsocket_c_api_legacy_sockopt_fidl_test_component", |
| ":netstack_external_network_test", |
| ] |
| foreach(test, tests) { |
| test_components += [ ":${test}_test_component" ] |
| } |
| |
| deps = [ |
| # device_name_provider provides fuchsia.device.NameProvider. |
| ":device_name_provider", |
| |
| # dns_resolver is under test. |
| "//src/connectivity/network/dns:component", |
| |
| # netstack is under test. |
| "//src/connectivity/network/netstack:component-debug", |
| |
| # netstack-cfg is used to configure netstack in test environments. |
| "//src/connectivity/network/testing/netemul/runner:netstack-cfg", |
| ] |
| |
| visibility = [ ":*" ] |
| } |