blob: 3dff5bceb564e05d79dbe1fc53c4f60e97a689a9 [file]
# 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/components.gni")
import("//build/test.gni")
visibility = [ "./*" ]
fuchsia_component_manifest("minfs_manifest") {
component_name = "minfs"
manifest = "meta/minfs.cml"
}
fuchsia_structured_config_cpp_elf_lib("minfs_config_lib") {
cm_label = ":minfs_manifest"
}
fuchsia_structured_config_values("minfs_default_config") {
cm_label = ":minfs_manifest"
values = {
die_on_mutation_failure = true
}
}
fuchsia_structured_config_values("minfs_test_config_corrupt") {
cm_label = ":minfs_manifest"
values = {
die_on_mutation_failure = false
}
}
executable("minfs") {
sources = [ "main.cc" ]
deps = [
":minfs_config_lib",
"//sdk/fidl/fuchsia.process.lifecycle:fuchsia.process.lifecycle_cpp",
"//sdk/lib/fdio",
"//sdk/lib/scheduler/cpp",
"//sdk/lib/syslog/cpp",
"//src/storage/minfs",
"//zircon/system/ulib/zx",
]
}
fuchsia_component("minfs-component-base") {
cm_label = ":minfs_manifest"
deps = [ ":minfs" ]
}
group("minfs-component") {
visibility += [ "*" ]
public_deps = [
":minfs-component-base",
":minfs_default_config",
]
}
fuchsia_package("package") {
visibility += [ "*" ]
package_name = "minfs"
deps = [ ":minfs-component" ]
}
group("minfs-test-component") {
visibility += [ "*" ]
deps = [
":minfs-component",
"//src/storage/lib/fs_management:fs_management_shard",
]
}
group("minfs-test-component-corrupt") {
visibility += [ "*" ]
deps = [
":minfs-component-base",
":minfs_test_config_corrupt",
"//src/storage/lib/fs_management:fs_management_shard",
]
}
test("minfs_component_test") {
sources = [ "minfs_test.cc" ]
deps = [
"//sdk/fidl/fuchsia.component:fuchsia.component_cpp",
"//sdk/fidl/fuchsia.fs:fuchsia.fs_cpp",
"//sdk/fidl/fuchsia.io:fuchsia.io_cpp",
"//sdk/fidl/fuchsia.storage.block:fuchsia.storage.block_cpp",
"//sdk/lib/async-loop",
"//sdk/lib/async-loop:async-loop-cpp",
"//sdk/lib/async-loop:async-loop-default",
"//sdk/lib/component/incoming/cpp",
"//src/lib/fxl/test:gtest_main",
"//src/storage/fidl/fuchsia.fs.startup:fuchsia.fs.startup_cpp",
"//src/storage/testing:storage_driver_test_support",
]
}
fuchsia_component("minfs-component-test-component") {
testonly = true
manifest = "meta/minfs_component_test.cml"
deps = [
":minfs_component_test",
"//src/storage/testing:storage_driver_test_realm",
]
}
fuchsia_test_package("minfs-component-tests") {
test_components = [ ":minfs-component-test-component" ]
deps = [ ":minfs-component" ]
}
group("tests") {
visibility += [ "*" ]
testonly = true
deps = [ ":minfs-component-tests" ]
}