blob: b4d72eeade1df642419cd323b23fab05cb0807c9 [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/test.gni")
import("//src/sys/build/components.gni")
source_set("options") {
sources = [ "options.cc" ]
public = [ "options.h" ]
public_deps = [ "//zircon/public/lib/fit" ]
}
source_set("volume-descriptor") {
sources = [ "volume_descriptor.cc" ]
public = [ "volume_descriptor.h" ]
public_deps = [
":options",
"utils:guid",
"//third_party/rapidjson",
"//zircon/public/lib/fit",
]
}
source_set("address-descriptor") {
sources = [ "address_descriptor.cc" ]
public = [ "address_descriptor.h" ]
public_deps = [
"//zircon/public/lib/fbl",
"//zircon/public/lib/fit",
]
deps = [ "//third_party/rapidjson" ]
}
source_set("partition") {
sources = [ "partition.cc" ]
public = [ "partition.h" ]
public_deps = [
":address-descriptor",
"//src/storage/volume_image:volume-descriptor",
"//src/storage/volume_image/utils:io-interfaces",
]
deps = [ "//third_party/rapidjson" ]
}
source_set("volume-descriptor-test") {
testonly = true
sources = [
"address_descriptor_test.cc",
"options_test.cc",
"partition_test.cc",
"volume_descriptor_test.cc",
]
deps = [
":address-descriptor",
":partition",
":volume-descriptor",
"serialization:schema",
"//src/lib/json_parser",
"//third_party/googletest:gmock",
"//third_party/googletest:gtest",
]
}
test("storage-volume-image-test") {
deps = [
":volume-descriptor-test",
"ftl:tests",
"fvm:fvm-test",
"serialization:tests",
"utils:tests",
"//src/lib/fxl/test:gtest_main",
]
if (is_fuchsia) {
deps += [ "//sdk/lib/fdio" ]
}
}
test("storage-volume-image-integration-test") {
deps = [
"ftl:integration-tests",
"//src/lib/fxl/test:gtest_main",
]
if (is_fuchsia) {
deps += [ "//sdk/lib/fdio" ]
}
}
resource("serialization-schemas") {
sources = [
"serialization/address_descriptor.schema.json",
"serialization/blob_manifest.schema.json",
"serialization/volume_descriptor.schema.json",
"serialization/volume_image.schema.json",
]
outputs = [ "data/schema/{{source_file_part}}" ]
}
fuchsia_component("storage-volume-image-test-component") {
manifest = "meta/storage-volume-image-test.cmx"
deps = [
":serialization-schemas",
":storage-volume-image-test",
]
testonly = true
}
fuchsia_component("storage-volume-image-integration-test-component") {
manifest = "meta/storage-volume-image-integration-test.cmx"
deps = [ ":storage-volume-image-integration-test" ]
testonly = true
}
fuchsia_test_package("storage-volume-image-tests") {
test_components = [
":storage-volume-image-test-component",
":storage-volume-image-integration-test-component",
]
}
group("tests") {
testonly = true
deps = [
":storage-volume-image-integration-test($host_toolchain)",
":storage-volume-image-test($host_toolchain)",
":storage-volume-image-tests",
"fvm:tests",
]
}