blob: 3e6a8162c25b1e2f12bf80a9bbdc819dd3039242 [file] [log] [blame]
# 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("//build/components.gni")
import("//build/dist/component_manifest_resources.gni")
import("//build/rust/rustc_test.gni")
executable("startup") {
sources = [ "main.cc" ]
deps = [
"//sdk/lib/fdio",
"//sdk/lib/fit",
"//src/session/fidl/fuchsia.sessionmanager:fuchsia.sessionmanager_llcpp",
"//src/sys/appmgr/fidl/fuchsia.appmgr:fuchsia.appmgr_llcpp",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/fbl",
"//zircon/system/ulib/fidl-async:fidl-async-cpp",
]
# TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated.
# Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>).
# See linked bug for details.
configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ]
}
component_manifest_resources("meta") {
sources = [ "meta/startup.cml" ]
}
group("bootfs") {
deps = [
":meta",
":startup",
]
}
fuchsia_component("component_for_test") {
component_name = "startup_for_test"
deps = [ ":startup" ]
manifest = "meta/startup.cml"
}
fuchsia_component("fake_appmgr") {
component_name = "appmgr"
manifest = "src/tests/meta/fake-appmgr.cml"
}
fuchsia_component("test_root") {
component_name = "root"
manifest = "src/tests/meta/root.cml"
}
rustc_test("startup_integration_test_bin") {
name = "startup_integration_test"
edition = "2021"
source_root = "src/tests/integration_test.rs"
deps = [
"//src/lib/fuchsia-async",
"//src/sys/component_manager/testing:test_utils_lib",
"//src/sys/lib/component-events",
]
sources = [ "src/tests/integration_test.rs" ]
}
fuchsia_component("startup_integration_test_component") {
testonly = true
component_name = "startup-integration-test-component"
deps = [ ":startup_integration_test_bin" ]
manifest = "src/tests/meta/integration-test.cmx"
}
fuchsia_test_package("startup_integration_test") {
package_name = "startup-integration-test"
test_components = [ ":startup_integration_test_component" ]
deps = [
":component_for_test",
":fake_appmgr",
":test_root",
"//src/sys/component_manager:component-manager-cmp",
]
}
group("tests") {
testonly = true
deps = [ ":startup_integration_test" ]
}