| # 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/fuzzing/fuzzer.gni") |
| import("//build/test.gni") |
| |
| static_library("journal") { |
| friend = [ ":*" ] |
| |
| public = [ |
| "background_executor.h", |
| "data_streamer.h", |
| "disk_struct.h", |
| "format.h", |
| "header_view.h", |
| "initializer.h", |
| "inspector_journal.h", |
| "inspector_parser.h", |
| "journal.h", |
| "journal_writer.h", |
| "operation_tracker.h", |
| "replay.h", |
| "superblock.h", |
| ] |
| |
| sources = [ |
| "header_view.cc", |
| "initializer.cc", |
| ] |
| |
| public_deps = [ |
| "//sdk/lib/fit-promise", |
| "//src/lib/storage/vfs/cpp", |
| "//src/lib/storage/vfs/cpp/transaction", |
| ] |
| |
| deps = [ |
| "//zircon/system/ulib/fbl", |
| "//zircon/third_party/ulib/cksum", |
| ] |
| |
| configs += [ "//build/config:all_source" ] |
| |
| if (is_fuchsia) { |
| sources += [ |
| "background_executor.cc", |
| "data_streamer.cc", |
| "disk_struct.cc", |
| "entry_view.cc", |
| "entry_view.h", |
| "format_assertions.h", |
| "inspector_journal.cc", |
| "inspector_journal_entries.cc", |
| "inspector_journal_entries.h", |
| "inspector_parser.cc", |
| "journal.cc", |
| "journal_writer.cc", |
| "operation_tracker.cc", |
| "replay.cc", |
| "replay_tree.cc", |
| "replay_tree.h", |
| "superblock.cc", |
| ] |
| public_deps += [ |
| "//sdk/lib/sys/inspect/cpp", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-cobalt", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-composite-latency-event", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-inspect", |
| "//src/storage/lib/disk_inspector", |
| "//zircon/system/ulib/cobalt-client", |
| "//zircon/system/ulib/fzl", |
| "//zircon/system/ulib/range", |
| "//zircon/system/ulib/storage/buffer", |
| "//zircon/system/ulib/storage/operation", |
| "//zircon/system/ulib/trace", |
| ] |
| deps += [ |
| "//sdk/lib/fdio", |
| "//sdk/lib/syslog/cpp", |
| "//src/storage/lib/disk_inspector", |
| "//zircon/system/ulib/fbl", |
| "//zircon/system/ulib/range", |
| "//zircon/system/ulib/storage/buffer", |
| "//zircon/system/ulib/storage/operation", |
| "//zircon/system/ulib/sync", |
| "//zircon/system/ulib/zxc", |
| "//zircon/third_party/ulib/safemath", |
| ] |
| } |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":journal-fuzzers", |
| ":journal-unit-tests", |
| ] |
| } |
| |
| test("journal-unit") { |
| if (is_fuchsia) { |
| fdio_config = [ "//build/config/fuchsia:fdio_config" ] |
| if (configs + fdio_config - fdio_config != configs) { |
| configs -= fdio_config |
| } |
| } |
| sources = [ |
| "background_executor_test.cc", |
| "data_streamer_test.cc", |
| "disk_struct_test.cc", |
| "entry_view_test.cc", |
| "header_view_test.cc", |
| "inspector_parser_test.cc", |
| "inspector_test.cc", |
| "journal_test.cc", |
| "operation_tracker_test.cc", |
| "replay_test.cc", |
| "replay_tree_test.cc", |
| "superblock_test.cc", |
| ] |
| deps = [ |
| ":journal", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/sys/inspect/cpp", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-cobalt", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-composite-latency-event", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-inspect", |
| "//third_party/googletest:gmock", |
| "//third_party/googletest:gtest", |
| "//zircon/system/ulib/block-client:fake-device", |
| "//zircon/system/ulib/cobalt-client", |
| "//zircon/system/ulib/cobalt-client:in-memory-logger", |
| "//zircon/system/ulib/sync", |
| "//zircon/system/ulib/zx", |
| "//zircon/third_party/ulib/cksum", |
| "//zircon/third_party/ulib/safemath", |
| ] |
| } |
| |
| source_set("fuzz-utils") { |
| sources = [ "fuzzer_utils.cc" ] |
| public_deps = [ |
| ":journal", |
| "//sdk/lib/sys/inspect/cpp", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-cobalt", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-composite-latency-event", |
| "//src/lib/storage/vfs/cpp/metrics:metrics-inspect", |
| "//zircon/system/ulib/cobalt-client", |
| "//zircon/system/ulib/sync", |
| "//zircon/system/ulib/zx", |
| "//zircon/third_party/ulib/cksum", |
| ] |
| } |
| |
| fuchsia_component("journal-unit-tests-component") { |
| component_name = "journal-unit-tests" |
| testonly = true |
| manifest = "meta/journal-unit-tests.cml" |
| deps = [ ":journal-unit" ] |
| } |
| |
| fuchsia_test_package("journal-unit-tests") { |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| test_components = [ ":journal-unit-tests-component" ] |
| } |
| |
| fuzzer("journal-fuzzer") { |
| sources = [ "journal_fuzztest.cc" ] |
| deps = [ ":fuzz-utils" ] |
| } |
| |
| fuzzer("journal-entry-fuzzer") { |
| sources = [ "entry_parse_fuzztest.cc" ] |
| deps = [ ":fuzz-utils" ] |
| } |
| |
| fuzzer("journal-replay-fuzzer") { |
| sources = [ "replay_fuzztest.cc" ] |
| deps = [ ":fuzz-utils" ] |
| } |
| |
| fuzzers_package("journal-fuzzers") { |
| cpp_fuzzers = [ |
| ":journal-fuzzer", |
| ":journal-entry-fuzzer", |
| ":journal-replay-fuzzer", |
| ] |
| } |