| # 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", | |
| ], | |
| ) |