blob: 7e226784094e69e2450fded8928ebd1ad313f510 [file]
# Copyright 2026 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.
load("//build/bazel/rules/cc:fx_cc_binary.bzl", "fx_cc_binary")
load(
"//build/bazel/rules/components:fx_component.bzl",
"fx_component",
"fx_component_manifest",
"fx_test_component",
)
load("//build/bazel/rules/packages:fx_package.bzl", "fx_package")
load(
"//build/bazel/rules/packages:fx_packaged_binary.bzl",
"fx_packaged_binary",
)
load("//build/bazel/rules/rust:rustc_test.bzl", "rustc_test")
load("//build/bazel/rules/testing:fx_test.bzl", "fx_test")
package(default_applicable_licenses = ["//:license"])
fx_cc_binary(
name = "exit_with_code",
srcs = ["exit_with_code.cc"],
visibility = ["//src/sys/lib/elf_runner:__pkg__"],
deps = ["//src/lib/fxl"],
)
fx_cc_binary(
name = "exit_with_code_from_env",
srcs = ["exit_with_code_from_env.cc"],
visibility = ["//src/sys/lib/elf_runner:__pkg__"],
deps = ["//src/lib/fxl"],
)
rustc_test(
name = "exit_code_integration_test_bin",
srcs = ["integration_test.rs"],
crate_name = "exit_code_integration_test",
crate_root = "integration_test.rs",
edition = "2024",
deps = [
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
"//sdk/fidl/fuchsia.component:fuchsia.component_rust",
"//sdk/fidl/fuchsia.data:fuchsia.data_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-component-test",
"//src/sys/lib/cm_rust",
"//src/sys/lib/component-events",
"//third_party/rust_crates/vendor:futures",
"//third_party/rust_crates/vendor:test-case",
],
)
fx_packaged_binary(
name = "exit_with_code_packaged_bin",
testonly = True,
binary = ":exit_with_code",
binary_name = "exit_with_code",
)
fx_packaged_binary(
name = "exit_code_integration_test_packaged_bin",
testonly = True,
binary = ":exit_code_integration_test_bin",
binary_name = "exit_code_integration_test",
)
fx_component_manifest(
name = "test_root-manifest",
testonly = True,
component_name = "test_root",
includes = [
"//sdk/lib/inspect:offer.shard",
"//sdk/lib/syslog:client.shard",
"//src/sys/component_manager/tests:meta/elf_runner_and_environment.shard",
],
manifest = "meta/test_root.cml",
)
fx_component(
name = "test_root",
testonly = True,
compiled_manifest = ":test_root-manifest",
)
fx_component_manifest(
name = "exit_code_integration_test-manifest",
testonly = True,
component_name = "exit_code_integration_test",
includes = [
"//sdk/lib/sys/component:realm_builder.shard",
"//sdk/lib/syslog:client.shard",
"//src/lib/fuchsia-component-test:meta/nested_component_manager.shard",
"//src/sys/test_runners/rust:default.shard.cml",
],
manifest = "meta/exit_code_integration_test.cml",
)
fx_test_component(
name = "exit_code_integration_test_component",
compiled_manifest = ":exit_code_integration_test-manifest",
deps = [
":exit_code_integration_test_packaged_bin",
":exit_with_code_packaged_bin",
],
)
fx_package(
name = "exit_code_integration_test_package",
package_name = "exit_code_integration_test",
components = [
":test_root",
"//src/lib/fuchsia-component-test/realm_builder_server:realm_builder_server_component",
"//src/sys/component_manager:component-manager-realm-builder-debug-cmp",
],
test_components = [":exit_code_integration_test_component"],
)
fx_test(
name = "exit_code_integration_test",
package = ":exit_code_integration_test_package",
visibility = ["//src/sys/component_manager:__pkg__"],
)