blob: 9ae4da15914889f0618c461e58daa98cde8575cb [file] [log] [blame]
# Copyright 2019 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/rust/rustc_library.gni")
import("//build/rust/rustc_test.gni")
import("//src/sys/build/components.gni")
rustc_library("fuchsia-pkg-testing") {
version = "0.1.0"
edition = "2018"
with_unit_tests = true
deps = [
"//garnet/lib/rust/files_async",
"//garnet/lib/rust/io_util",
"//sdk/fidl/fuchsia.inspect:fuchsia.inspect-rustc",
"//sdk/fidl/fuchsia.io:fuchsia.io-rustc",
"//sdk/fidl/fuchsia.pkg:fuchsia.pkg-rustc",
"//sdk/fidl/fuchsia.sys:fuchsia.sys-rustc",
"//src/lib/diagnostics/hierarchy/rust",
"//src/lib/diagnostics/reader/rust",
"//src/lib/fdio/rust:fdio",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-hyper",
"//src/lib/fuchsia-runtime",
"//src/lib/fuchsia-url",
"//src/lib/http-sse:http_sse",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/sys/lib/fidl-fuchsia-pkg-ext",
"//src/sys/pkg/bin/pkg-local-mirror:lib",
"//src/sys/pkg/lib/far/rust:fuchsia-archive",
"//src/sys/pkg/lib/fuchsia-merkle",
"//src/sys/pkg/lib/fuchsia-pkg",
"//src/sys/pkg/lib/system-image",
"//src/sys/pkg/lib/update-package",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:chrono",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:glob",
"//third_party/rust_crates:hex",
"//third_party/rust_crates:http",
"//third_party/rust_crates:hyper",
"//third_party/rust_crates:itertools",
"//third_party/rust_crates:maplit",
"//third_party/rust_crates:maybe-owned",
"//third_party/rust_crates:openat",
"//third_party/rust_crates:parking_lot",
"//third_party/rust_crates:rustls",
"//third_party/rust_crates:serde",
"//third_party/rust_crates:serde_json",
"//third_party/rust_crates:tempfile",
"//third_party/rust_crates:tokio",
"//third_party/rust_crates:tokio-rustls",
"//third_party/rust_crates:walkdir",
]
test_deps = [ "//third_party/rust_crates:matches" ]
sources = [
"src/fake_pkg_local_mirror.rs",
"src/inspect.rs",
"src/lib.rs",
"src/package.rs",
"src/process.rs",
"src/repo.rs",
"src/serve.rs",
"src/serve/handler.rs",
"src/system_image.rs",
"src/update_package.rs",
]
inputs = [
"certs/server.rsa",
"certs/server.certchain",
]
}
fuchsia_component("fuchsia-pkg-testing-tests-component") {
testonly = true
component_name = "fuchsia-pkg-testing-tests"
manifest = "meta/fuchsia-pkg-testing-tests.cmx"
deps = [ ":fuchsia-pkg-testing_test" ]
}
rustc_test("pkgfs_test") {
edition = "2018"
source_root = "tests/pkgfs_test.rs"
deps = [
":fuchsia-pkg-testing",
"//garnet/lib/rust/io_util",
"//sdk/fidl/fuchsia.io:fuchsia.io-rustc",
"//src/lib/fdio/rust:fdio",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-async",
"//src/lib/zircon/rust:fuchsia-zircon",
"//src/sys/pkg/lib/fuchsia-merkle",
"//src/sys/pkg/lib/pkgfs",
"//src/sys/pkg/testing/blobfs-ramdisk",
"//src/sys/pkg/testing/pkgfs-ramdisk",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:matches",
"//third_party/rust_crates:openat",
"//third_party/rust_crates:serde_json",
]
sources = [
"tests/get_buffer.rs",
"tests/pkgfs_test.rs",
]
}
fuchsia_component("pkgfs-test-component") {
testonly = true
component_name = "pkgfs-test"
manifest = "meta/pkgfs-test.cmx"
deps = [ ":pkgfs_test" ]
}
fuchsia_test_package("fuchsia-pkg-testing-tests") {
test_components = [
":fuchsia-pkg-testing-tests-component",
":pkgfs-test-component",
]
deps = [
"//src/storage/bin/blobfs",
"//src/sys/pkg/bin/pkgfs:pkgsvr",
"//src/sys/pkg/bin/pm:pm_bin",
]
}
group("tests") {
testonly = true
public_deps = [
":fuchsia-pkg-testing-tests",
"//src/lib/storage/ramdevice_client:ramdisk-isolated-devmgr",
"//src/sys/pkg/bin/pm:pm",
]
}