blob: c2c1a496886ad716f97ebe9e02b4340ba508618f [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/rust/rustc_library.gni")
import("//build/testing/environments.gni")
rustc_library("isolated-swd") {
version = "0.1.0"
edition = "2021"
with_unit_tests = true
deps = [
"//sdk/fidl/fuchsia.paver:fuchsia.paver_rust",
"//sdk/fidl/fuchsia.pkg:fuchsia.pkg_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-url",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/sys/pkg/fidl/fuchsia.update.installer:fuchsia.update.installer_rust",
"//src/sys/pkg/lib/fidl-fuchsia-update-installer-ext",
"//src/sys/pkg/lib/omaha-client-fuchsia",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:omaha_client",
"//third_party/rust_crates:thiserror",
"//third_party/rust_crates:tracing",
]
test_deps = [
"//sdk/fidl/fuchsia.io:fuchsia.io_rust",
"//sdk/fidl/fuchsia.metrics:fuchsia.metrics_rust",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component-test",
"//src/sys/lib/fidl-fuchsia-pkg-ext",
"//src/sys/pkg/lib/fuchsia-merkle",
"//src/sys/pkg/lib/fuchsia-pkg-testing",
"//src/sys/pkg/testing/blobfs-ramdisk",
"//src/sys/pkg/testing/mock-metrics",
"//src/sys/pkg/testing/mock-paver",
"//third_party/rust_crates:assert_matches",
"//third_party/rust_crates:hyper",
"//third_party/rust_crates:serde_json",
]
sources = [
"src/cache.rs",
"src/lib.rs",
"src/omaha.rs",
"src/omaha/installer.rs",
"src/omaha/policy.rs",
"src/resolver.rs",
"src/updater.rs",
]
configs += [ "//build/config/rust/lints:clippy_warn_all" ]
}
fuchsia_test_component("isolated-swd-tests-component") {
component_name = "isolated-swd-tests"
manifest = "meta/isolated-swd-tests.cml"
deps = [ ":isolated-swd_test" ]
}
isolated_swd_components = [
"//src/sys/pkg/bin/pkg-cache:ignore-system-image-component-and-config",
"//src/sys/pkg/bin/pkg-resolver:production-component-and-config",
"//src/sys/pkg/bin/system-updater:production-component-and-config",
"//src/sys/pkg/bin/fake-system-update-committer",
]
fuchsia_component("pkg-component") {
component_name = "pkg"
manifest = "//src/sys/pkg/meta/pkg-recovery.cml"
deps = isolated_swd_components
}
fuchsia_test_package("isolated-swd-tests") {
test_components = [ ":isolated-swd-tests-component" ]
deps = [
"//src/connectivity/network:netstack-for-tests",
"//src/connectivity/network/dns:component",
"//src/storage/testing:storage_driver_test_realm",
"//src/storage/tools/blobfs-compression",
"//src/sys/pkg/bin/fake-system-update-committer",
"//src/sys/pkg/lib/fuchsia-pkg-testing/certs",
"//src/sys/pkg/tests/pkg-resolver:empty-repo",
]
deps += isolated_swd_components
deps += [ ":pkg-component" ]
test_specs = {
log_settings = {
max_severity = "ERROR"
}
}
}
fuchsia_package("isolated-swd-components") {
deps = isolated_swd_components
}
group("tests") {
testonly = true
public_deps = [ ":isolated-swd-tests" ]
}