| # 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/fuzzing/fuzzer.gni") | 
 | import("//build/test.gni") | 
 | import("//build/testing/bootfs_test.gni") | 
 | import("//src/sys/build/components.gni") | 
 | import("//zircon/system/ulib/devmgr-integration-test/isolated_devmgr.gni") | 
 |  | 
 | test("minfs-unit") { | 
 |   sources = [ | 
 |     "unit/bcache_test.cc", | 
 |     "unit/buffer_view_test.cc", | 
 |     "unit/command_handler_test.cc", | 
 |     "unit/disk_struct_test.cc", | 
 |     "unit/format_test.cc", | 
 |     "unit/fsck_test.cc", | 
 |     "unit/inspector_test.cc", | 
 |     "unit/journal_integration_fixture.cc", | 
 |     "unit/journal_test.cc", | 
 |     "unit/lazy_buffer_test.cc", | 
 |     "unit/lazy_reader_test.cc", | 
 |     "unit/loader_test.cc", | 
 |     "unit/minfs_inspector_test.cc", | 
 |     "unit/mkfs_test.cc", | 
 |     "unit/mount_test.cc", | 
 |     "unit/parser_test.cc", | 
 |     "unit/resizeable_array_buffer_test.cc", | 
 |     "unit/resizeable_vmo_buffer_test.cc", | 
 |     "unit/superblock_test.cc", | 
 |     "unit/transaction_limits_test.cc", | 
 |     "unit/transaction_test.cc", | 
 |     "unit/truncate_test.cc", | 
 |     "unit/unlink_test.cc", | 
 |     "unit/vnode_mapper_test.cc", | 
 |   ] | 
 |   deps = [ | 
 |     "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_c", | 
 |     "//src/storage/minfs", | 
 |     "//zircon/public/lib/safemath", | 
 |     "//zircon/public/lib/sync", | 
 |     "//zircon/public/lib/zircon-internal", | 
 |     "//zircon/public/lib/zxc", | 
 |     "//zircon/public/lib/zxtest", | 
 |     "//zircon/system/ulib/bitmap", | 
 |     "//zircon/system/ulib/block-client", | 
 |     "//zircon/system/ulib/block-client:fake-device", | 
 |     "//zircon/system/ulib/disk_inspector", | 
 |     "//zircon/system/ulib/fs-management", | 
 |     "//zircon/system/ulib/fs/test_support", | 
 |     "//zircon/system/ulib/fvm", | 
 |     "//zircon/third_party/ulib/cksum", | 
 |   ] | 
 |   configs += [ "//build/config/fuchsia:static_cpp_standard_library" ] | 
 |  | 
 |   # TODO(fxbug.dev/47417): Fix the leaks and remove this. | 
 |   deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ] | 
 | } | 
 |  | 
 | source_set("integration-fixtures") { | 
 |   testonly = true | 
 |   sources = [ | 
 |     "integration/minfs_fixtures.cc", | 
 |     "integration/utils.cc", | 
 |   ] | 
 |   deps = [ | 
 |     "//src/storage/minfs", | 
 |     "//zircon/public/lib/zxtest", | 
 |     "//zircon/system/ulib/fs/test_support", | 
 |     "//zircon/system/ulib/fvm", | 
 |     "//zircon/system/ulib/fzl", | 
 |   ] | 
 | } | 
 |  | 
 | test("minfs-integration") { | 
 |   if (is_fuchsia) { | 
 |     configs += [ "//build/unification/config:zircon-migrated" ] | 
 |   } | 
 |   sources = [ | 
 |     "integration/backup_superblock.cc", | 
 |     "integration/integration_main.cc", | 
 |     "integration/mount_test.cc", | 
 |     "integration/power_test.cc", | 
 |     "integration/runtime_state_test.cc", | 
 |     "integration/truncate_test.cc", | 
 |   ] | 
 |   deps = [ | 
 |     ":integration-fixtures", | 
 |     "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp", | 
 |     "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_llcpp", | 
 |     "//src/devices/tests/sysdev", | 
 |     "//src/storage/minfs", | 
 |     "//zircon/public/lib/async", | 
 |     "//zircon/public/lib/async-cpp", | 
 |     "//zircon/public/lib/fbl", | 
 |     "//zircon/public/lib/zx", | 
 |     "//zircon/public/lib/zxtest", | 
 |     "//zircon/system/ulib/async-default", | 
 |     "//zircon/system/ulib/async-loop", | 
 |     "//zircon/system/ulib/async-loop:async-loop-cpp", | 
 |     "//zircon/system/ulib/async-loop:async-loop-default", | 
 |     "//zircon/system/ulib/fdio-caller", | 
 |     "//zircon/system/ulib/fs-management", | 
 |     "//zircon/system/ulib/fs-test-utils", | 
 |     "//zircon/system/ulib/fs/test/posix:posix_tests", | 
 |     "//zircon/system/ulib/fs/test_support", | 
 |     "//zircon/system/ulib/fvm", | 
 |     "//zircon/system/ulib/memfs", | 
 |   ] | 
 | } | 
 |  | 
 | test("minfs-power") { | 
 |   if (is_fuchsia) { | 
 |     configs += [ "//build/unification/config:zircon-migrated" ] | 
 |   } | 
 |   sources = [ | 
 |     "integration/power_main.cc", | 
 |     "integration/power_test.cc", | 
 |   ] | 
 |   deps = [ | 
 |     ":integration-fixtures", | 
 |     "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp", | 
 |     "//src/storage/minfs", | 
 |     "//zircon/public/lib/async", | 
 |     "//zircon/public/lib/async-cpp", | 
 |     "//zircon/public/lib/zx", | 
 |     "//zircon/public/lib/zxtest", | 
 |     "//zircon/system/ulib/async-default", | 
 |     "//zircon/system/ulib/async-loop", | 
 |     "//zircon/system/ulib/async-loop:async-loop-cpp", | 
 |     "//zircon/system/ulib/async-loop:async-loop-default", | 
 |     "//zircon/system/ulib/fs/test_support", | 
 |     "//zircon/system/ulib/memfs", | 
 |   ] | 
 | } | 
 |  | 
 | test("minfs-host") { | 
 |   if (is_fuchsia) { | 
 |     configs += [ "//build/unification/config:zircon-migrated" ] | 
 |   } | 
 |   sources = [ "host/bcache_test.cc" ] | 
 |   deps = [ | 
 |     "//src/storage/minfs", | 
 |     "//zircon/public/lib/zxtest", | 
 |   ] | 
 | } | 
 |  | 
 | test("minfs-micro-benchmark") { | 
 |   if (is_fuchsia) { | 
 |     configs += [ "//build/unification/config:zircon-migrated" ] | 
 |   } | 
 |   sources = [ | 
 |     "micro-benchmark/block-device-utils.cc", | 
 |     "micro-benchmark/minfs-costs.cc", | 
 |     "micro-benchmark/minfs-tests.cc", | 
 |   ] | 
 |   deps = [ | 
 |     "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_c", | 
 |     "//sdk/fidl/fuchsia.io:fuchsia.io_c", | 
 |     "//sdk/fidl/fuchsia.io:fuchsia.io_c", | 
 |     "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp", | 
 |     "//sdk/fidl/fuchsia.minfs:fuchsia.minfs_c", | 
 |     "//sdk/lib/fdio", | 
 |     "//src/storage/minfs", | 
 |     "//zircon/public/lib/async", | 
 |     "//zircon/public/lib/async-cpp", | 
 |     "//zircon/public/lib/fbl", | 
 |     "//zircon/public/lib/fit", | 
 |     "//zircon/public/lib/sync", | 
 |     "//zircon/public/lib/zx", | 
 |     "//zircon/public/lib/zxtest", | 
 |     "//zircon/system/ulib/async-default", | 
 |     "//zircon/system/ulib/async-loop", | 
 |     "//zircon/system/ulib/async-loop:async-loop-cpp", | 
 |     "//zircon/system/ulib/async-loop:async-loop-default", | 
 |     "//zircon/system/ulib/digest", | 
 |     "//zircon/system/ulib/fdio-caller", | 
 |     "//zircon/system/ulib/fs", | 
 |     "//zircon/system/ulib/fs-management", | 
 |     "//zircon/system/ulib/fs-test-utils", | 
 |     "//zircon/system/ulib/fvm", | 
 |     "//zircon/system/ulib/fzl", | 
 |     "//zircon/system/ulib/gpt", | 
 |     "//zircon/system/ulib/memfs", | 
 |     "//zircon/system/ulib/memfs:memfs-cpp", | 
 |     "//zircon/system/ulib/perftest", | 
 |     "//zircon/system/ulib/storage-metrics", | 
 |     "//zircon/system/ulib/trace", | 
 |     "//zircon/system/ulib/trace-engine", | 
 |   ] | 
 | } | 
 |  | 
 | fuzzer("minfs-fuzzer") { | 
 |   sources = [ "unit/fuzz.cc" ] | 
 |   deps = [ | 
 |     "//src/storage/minfs", | 
 |     "//zircon/public/lib/zircon-internal", | 
 |     "//zircon/public/lib/zxc", | 
 |     "//zircon/system/ulib/bitmap", | 
 |     "//zircon/system/ulib/block-client:fake-device", | 
 |   ] | 
 | } | 
 |  | 
 | fuzzers_package("minfs-fuzzers") { | 
 |   cpp_fuzzers = [ ":minfs-fuzzer" ] | 
 | } | 
 |  | 
 | isolated_devmgr_unittest_component("minfs-integration-test") { | 
 |   executable_path = "test/minfs-integration" | 
 |  | 
 |   deps = [ | 
 |     ":minfs-integration", | 
 |     "//src/devices/block/drivers/core", | 
 |     "//src/devices/block/drivers/fvm", | 
 |     "//src/devices/block/drivers/ramdisk", | 
 |     "//src/devices/misc/drivers/test", | 
 |     "//src/devices/tests/sysdev", | 
 |     "//src/storage/bin/minfs", | 
 |   ] | 
 | } | 
 |  | 
 | isolated_devmgr_unittest_component("minfs-power-test") { | 
 |   executable_path = "test/minfs-power" | 
 |  | 
 |   deps = [ | 
 |     ":minfs-power", | 
 |     "//src/devices/block/drivers/core", | 
 |     "//src/devices/block/drivers/fvm", | 
 |     "//src/devices/block/drivers/ramdisk", | 
 |     "//src/devices/misc/drivers/test", | 
 |     "//src/devices/tests/sysdev", | 
 |     "//src/storage/bin/minfs", | 
 |   ] | 
 | } | 
 |  | 
 | fuchsia_unittest_component("minfs-unit-test") { | 
 |   executable_path = "test/minfs-unit" | 
 |  | 
 |   deps = [ ":minfs-unit" ] | 
 | } | 
 |  | 
 | isolated_devmgr_unittest_component("minfs-micro-benchmark-test") { | 
 |   executable_path = "test/minfs-micro-benchmark" | 
 |  | 
 |   deps = [ | 
 |     ":minfs-micro-benchmark", | 
 |     "//src/devices/block/drivers/core", | 
 |     "//src/devices/block/drivers/fvm", | 
 |     "//src/devices/block/drivers/ramdisk", | 
 |     "//src/devices/misc/drivers/test", | 
 |     "//src/devices/tests/sysdev", | 
 |     "//src/storage/bin/minfs", | 
 |   ] | 
 | } | 
 |  | 
 | fuchsia_test_package("minfs-tests") { | 
 |   if (is_fuchsia) { | 
 |     # TODO(fxbug.dev/61773): Remove this once minfs-integration-test no longer | 
 |     # produces ERROR logs. | 
 |     test_specs = { | 
 |       log_settings = { | 
 |         max_severity = "ERROR" | 
 |       } | 
 |     } | 
 |   } | 
 |  | 
 |   test_components = [ | 
 |     ":minfs-integration-test", | 
 |     ":minfs-power-test", | 
 |     ":minfs-unit-test", | 
 |     ":minfs-micro-benchmark-test", | 
 |   ] | 
 | } |