blob: 4f1f4657d69a9b00690f0cfd19aa75b7700e833d [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/rust:rustc_test.bzl", "rustc_test")
package(default_applicable_licenses = ["//:license"])
# `pkg-cache-integration-test`, `ca.cert-resource`, and
# `pkg-cache-integration-tests` stay in BUILD.gn above the bazel2gn sentinel
# because they depend on GN-only `//src/storage/fxfs:fxfs_component`,
# `//src/storage/testing:storage_driver_test_realm`,
# `//src/connectivity/network/dns:component`, and
# `//src/connectivity/network/netstack3:component-for-tests`.
rustc_test(
name = "driver",
srcs = [
"src/base_pkg_index.rs",
"src/base_resolver.rs",
"src/cache_pkg_index.rs",
"src/cobalt.rs",
"src/driver_blob_paging.rs",
"src/executability_enforcement.rs",
"src/full_component_resolver.rs",
"src/full_resolver.rs",
"src/full_resolver_upgradable.rs",
"src/get.rs",
"src/inspect.rs",
"src/lib.rs",
"src/ota_downloader.rs",
"src/ota_resolver.rs",
"src/pkgfs.rs",
"src/remote_resolver.rs",
"src/remote_resolver_blobfs_errors.rs",
"src/remote_resolver_recovers_from_http_errors.rs",
"src/retained_blobs.rs",
"src/retained_packages.rs",
"src/space.rs",
"src/sync.rs",
"src/toolbox_resolver.rs",
"src/write_blobs.rs",
],
crate_name = "pkg_cache_integration_test",
# In GN, `rustc_test` targets omit `clippy_warn_production` (which enables
# `clippy::redundant_clone`), whereas Bazel `clippy_warn_all`
# unconditionally bakes `_CLIPPY_WARN_PRODUCTION` in and trips
# `redundant_clone` on test sources.
disable_clippy = True, # @bazel2gn:skip
edition = "2024",
lint_config = "//build/config/rust/lints:clippy_warn_all",
deps = [
"//sdk/fidl/fuchsia.boot:fuchsia.boot_rust",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_rust",
"//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution_rust",
"//sdk/fidl/fuchsia.io:fuchsia.io_rust",
"//sdk/fidl/fuchsia.logger:fuchsia.logger_rust",
"//sdk/fidl/fuchsia.metrics:fuchsia.metrics_rust",
"//sdk/fidl/fuchsia.net.name:fuchsia.net.name_rust",
"//sdk/fidl/fuchsia.paver:fuchsia.paver_rust",
"//sdk/fidl/fuchsia.pkg:fuchsia.pkg_rust",
"//sdk/fidl/fuchsia.pkg.garbagecollector:fuchsia.pkg.garbagecollector_rust",
"//sdk/fidl/fuchsia.pkg.http:fuchsia.pkg.http_rust",
"//sdk/fidl/fuchsia.pkg.internal:fuchsia.pkg.internal_rust",
"//sdk/fidl/fuchsia.pkg.resolution:fuchsia.pkg.resolution_rust",
"//sdk/fidl/fuchsia.posix.socket:fuchsia.posix.socket_rust",
"//sdk/fidl/fuchsia.storage.blobfs:fuchsia.storage.blobfs_rust",
"//sdk/fidl/fuchsia.storage.block:fuchsia.storage.block_rust",
"//sdk/fidl/fuchsia.tracing.provider:fuchsia.tracing.provider_rust",
"//sdk/fidl/fuchsia.update:fuchsia.update_rust",
"//sdk/rust/zx",
"//src/lib/diagnostics/hierarchy/rust:diagnostics-hierarchy",
"//src/lib/diagnostics/inspect/rust",
"//src/lib/diagnostics/testing/diagnostics-assertions/rust:diagnostics-assertions",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
# GN's `//src/lib/fuchsia-component-test` group bundles the Rust library
# with `:includes` and `realm_builder_server_component` for the GN test
# package; Bazel `rustc_test` depends on `:fuchsia-component-test-lib`.
"//src/lib/fuchsia-component-test:fuchsia-component-test-lib", # @bazel2gn:path_overwrite://src/lib/fuchsia-component-test
"//src/lib/fuchsia-fs",
"//src/lib/fuchsia-sync",
"//src/storage/fidl/fuchsia.storage.mapping:fuchsia.storage.mapping_rust",
"//src/storage/fxfs/fidl/fuchsia.fxfs:fuchsia.fxfs_rust",
"//src/storage/lib/blob_writer:blob-writer",
"//src/storage/lib/delivery_blob",
"//src/storage/lib/vfs/rust:vfs",
"//src/sys/lib/cm_rust",
"//src/sys/lib/fidl-fuchsia-pkg-ext",
"//src/sys/lib/mem_util",
"//src/sys/pkg/fidl/fuchsia.update.verify:fuchsia.update.verify_rust",
"//src/sys/pkg/lib/blobfs",
"//src/sys/pkg/lib/fuchsia-hash",
"//src/sys/pkg/lib/fuchsia-merkle",
"//src/sys/pkg/lib/fuchsia-pkg",
"//src/sys/pkg/lib/fuchsia-pkg-testing",
"//src/sys/pkg/lib/metrics:cobalt_sw_delivery_registry_rustlib",
"//src/sys/pkg/lib/system-image",
"//src/sys/pkg/testing/blobfs-ramdisk",
"//src/sys/pkg/testing/mock-health-verification",
"//src/sys/pkg/testing/mock-metrics",
"//src/sys/pkg/testing/mock-paver",
"//third_party/cobalt/src/lib/client/rust:cobalt-client",
"//third_party/rust_crates/vendor:anyhow",
"//third_party/rust_crates/vendor:assert_matches",
"//third_party/rust_crates/vendor:futures",
"//third_party/rust_crates/vendor:http",
"//third_party/rust_crates/vendor:log",
"//third_party/rust_crates/vendor:rand",
"//third_party/rust_crates/vendor:test-case",
],
)