| # 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/dist/component_manifest_resources.gni") |
| import("//build/rust/rustc_test.gni") |
| import("//src/sys/build/fuchsia_component.gni") |
| import("//src/sys/build/fuchsia_test_package.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/public/lib/fbl", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//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 = "2018" |
| 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" ] |
| } |