blob: ca6756283f45dbdf1dccde490f68c413b35d3e49 [file] [log] [blame]
# Copyright 2022 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/fidl/fidl.gni")
import("//build/rust/rustc_binary.gni")
import("//build/rust/rustc_library.gni")
source_set("controller") {
testonly = true
sources = [
"src/controller.cc",
"src/controller.h",
]
deps = [
":guest",
"//sdk/lib/fdio",
"//sdk/lib/syslog/cpp",
"//src/connectivity/network/testing/netemul/network-context/fidl:network_cpp",
"//src/lib/fxl:fxl",
"//src/virtualization/tests/lib:guest_console",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/fbl",
]
public_deps = [
"//sdk/fidl/fuchsia.virtualization:fuchsia.virtualization_cpp",
"//src/connectivity/network/testing/netemul/guest:fuchsia.netemul.guest_cpp",
]
}
source_set("guest") {
testonly = true
sources = [
"src/guest.cc",
"src/guest.h",
]
deps = [
"//sdk/lib/fdio",
"//sdk/lib/syslog/cpp",
"//src/connectivity/network/testing/netemul/network-context/fidl:network_cpp",
"//src/lib/fxl:fxl",
"//src/virtualization/lib/guest_interaction:common",
"//src/virtualization/lib/guest_interaction:guest_interaction_client",
"//src/virtualization/lib/guest_interaction:platform_interface_posix",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/fbl",
]
public_deps = [
"//sdk/fidl/fuchsia.virtualization:fuchsia.virtualization_cpp",
"//src/connectivity/network/testing/netemul/guest:fuchsia.netemul.guest_cpp",
"//src/virtualization/lib/guest_interaction:common",
"//src/virtualization/lib/guest_interaction:fuchsia.virtualization.guest.interaction_hlcpp",
]
# Enables thrd_create_with_name in <threads.h>.
configs += [ "//build/config:all_source" ]
}
executable("bin") {
testonly = true
output_name = "netemul_guest_cpp"
sources = [ "src/main.cc" ]
deps = [
":controller",
":guest",
"//sdk/fidl/fuchsia.virtualization:fuchsia.virtualization_cpp",
"//sdk/lib/component/incoming/cpp",
"//sdk/lib/component/outgoing/cpp",
"//sdk/lib/syslog/cpp",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/fbl",
]
}
fidl("fuchsia.netemul.guest") {
testonly = true
sources = [ "fidl/guest.fidl" ]
public_deps = [
"//sdk/fidl/fuchsia.io",
"//sdk/fidl/fuchsia.net",
"//src/connectivity/network/testing/netemul/network-context/fidl:network",
"//src/virtualization/lib/guest_interaction:fuchsia.virtualization.guest.interaction",
]
}
fuchsia_test_component("netemul-guest") {
manifest = "meta/netemul-guest.cml"
deps = [ ":bin" ]
}
group("tests") {
testonly = true
deps = [ "test:netemul-guest-self-tests" ]
}