| # Copyright 2016 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("//third_party/flatbuffers/flatbuffer.gni") |
| |
| visibility = [ "//src/ledger/*" ] |
| |
| group("impl") { |
| deps = [ |
| ":lib", |
| "//src/ledger/bin/storage/impl/btree", |
| ] |
| } |
| |
| flatbuffer("object_identifier") { |
| sources = [ "object_identifier.fbs" ] |
| |
| extra_configs = [ "//src/ledger:ledger_config" ] |
| } |
| |
| flatbuffer("commit_storage") { |
| sources = [ "commit.fbs" ] |
| |
| public_deps = [ ":object_identifier" ] |
| |
| extra_configs = [ "//src/ledger:ledger_config" ] |
| } |
| |
| flatbuffer("file_index") { |
| sources = [ "file_index.fbs" ] |
| |
| public_deps = [ ":object_identifier" ] |
| |
| extra_configs = [ "//src/ledger:ledger_config" ] |
| } |
| |
| flatbuffer("clock_storage") { |
| sources = [ "clock.fbs" ] |
| |
| public_deps = [ ":commit_storage" ] |
| |
| extra_configs = [ "//src/ledger:ledger_config" ] |
| } |
| |
| source_set("object_identifier_lib") { |
| sources = [ |
| "constants.h", |
| "object_digest.cc", |
| "object_digest.h", |
| "object_identifier_encoding.cc", |
| "object_identifier_encoding.h", |
| "object_identifier_factory_impl.cc", |
| "object_identifier_factory_impl.h", |
| ] |
| |
| deps = [ |
| "//src/ledger/bin/encryption/primitives", |
| "//src/ledger/bin/encryption/public", |
| "//src/ledger/lib/logging", |
| ] |
| |
| public_deps = [ |
| ":data_serialization", |
| ":object_identifier", |
| "//src/ledger/bin/storage/public", |
| "//src/ledger/bin/synchronization:dispatcher_checker", |
| "//src/ledger/bin/synchronization:thread_checker", |
| "//src/ledger/lib/convert", |
| "//third_party/abseil-cpp", |
| ] |
| |
| configs += [ "//src/ledger:ledger_config" ] |
| } |
| |
| source_set("data_serialization") { |
| sources = [ |
| "data_serialization.cc", |
| "data_serialization.h", |
| ] |
| |
| public_deps = [ |
| "//src/ledger/lib/logging", |
| "//third_party/abseil-cpp", |
| ] |
| } |
| |
| source_set("lib") { |
| sources = [ |
| "clock_serialization.cc", |
| "clock_serialization.h", |
| "commit_factory.cc", |
| "commit_factory.h", |
| "commit_pruner.cc", |
| "commit_pruner.h", |
| "commit_serialization.cc", |
| "commit_serialization.h", |
| "db_serialization.cc", |
| "db_serialization.h", |
| "file_index.cc", |
| "file_index.h", |
| "journal_impl.cc", |
| "journal_impl.h", |
| "ledger_storage_impl.cc", |
| "ledger_storage_impl.h", |
| "leveldb.cc", |
| "leveldb.h", |
| "leveldb_factory.cc", |
| "leveldb_factory.h", |
| "live_commit_tracker.h", |
| "object_impl.cc", |
| "object_impl.h", |
| "page_db.h", |
| "page_db_batch_impl.cc", |
| "page_db_batch_impl.h", |
| "page_db_impl.cc", |
| "page_db_impl.h", |
| "page_storage_impl.cc", |
| "page_storage_impl.h", |
| "split.cc", |
| "split.h", |
| ] |
| |
| deps = [ |
| ":clock_storage", |
| ":commit_storage", |
| ":file_index", |
| ":object_identifier_lib", |
| "//sdk/lib/fidl/cpp", |
| "//src/ledger/bin/encryption/impl", |
| "//src/ledger/bin/encryption/primitives", |
| "//src/ledger/bin/encryption/public", |
| "//src/ledger/bin/environment", |
| "//src/ledger/bin/filesystem", |
| "//src/ledger/bin/storage/impl/btree:lib", |
| "//src/ledger/bin/storage/public", |
| "//src/ledger/bin/synchronization:lock", |
| "//src/ledger/lib/callback", |
| "//src/ledger/lib/files", |
| "//src/ledger/lib/logging", |
| "//src/ledger/lib/rng", |
| "//third_party/abseil-cpp", |
| "//zircon/public/lib/async-cpp", |
| "//zircon/public/lib/trace", |
| ] |
| |
| public_deps = [ |
| ":data_serialization", |
| ":object_identifier_lib", |
| "//src/ledger/bin/platform", |
| "//src/ledger/lib/convert", |
| "//src/ledger/lib/coroutine", |
| "//src/ledger/third_party/bup", |
| "//third_party/leveldb", |
| ] |
| |
| configs += [ "//src/ledger:ledger_config" ] |
| } |
| |
| source_set("test_utils") { |
| testonly = true |
| |
| sources = [ |
| "storage_test_utils.cc", |
| "storage_test_utils.h", |
| ] |
| |
| deps = [ |
| ":lib", |
| "//src/ledger/bin/encryption/fake", |
| "//src/ledger/bin/encryption/primitives", |
| "//src/ledger/bin/storage/fake:lib", |
| "//src/ledger/lib/callback", |
| "//third_party/abseil-cpp", |
| ] |
| |
| public_deps = [ |
| "//src/ledger/bin/storage/impl/btree:lib", |
| "//src/ledger/bin/storage/public", |
| "//src/ledger/bin/testing:lib", |
| "//src/ledger/lib/rng", |
| "//src/ledger/lib/vmo", |
| "//third_party/abseil-cpp", |
| ] |
| |
| configs += [ "//src/ledger:ledger_config" ] |
| } |
| |
| source_set("unittests") { |
| testonly = true |
| |
| sources = [ |
| "clock_serialization_unittest.cc", |
| "commit_factory_unittest.cc", |
| "commit_pruner_unittest.cc", |
| "commit_random_impl.cc", |
| "commit_random_impl.h", |
| "commit_serialization_unittest.cc", |
| "db_serialization_unittest.cc", |
| "file_index_unittest.cc", |
| "journal_unittest.cc", |
| "ledger_storage_unittest.cc", |
| "leveldb_factory_unittest.cc", |
| "leveldb_unittest.cc", |
| "object_digest_unittest.cc", |
| "object_identifier_encoding_unittest.cc", |
| "object_identifier_factory_impl_unittest.cc", |
| "object_impl_unittest.cc", |
| "page_db_empty_impl.cc", |
| "page_db_empty_impl.h", |
| "page_db_unittest.cc", |
| "page_storage_unittest.cc", |
| "split_unittest.cc", |
| ] |
| |
| deps = [ |
| ":file_index", |
| ":lib", |
| ":test_utils", |
| "//src/ledger/bin/clocks/testing", |
| "//src/ledger/bin/cloud_sync/impl", |
| "//src/ledger/bin/encryption/fake", |
| "//src/ledger/bin/encryption/primitives", |
| "//src/ledger/bin/storage/fake:lib", |
| "//src/ledger/bin/storage/impl/btree:lib", |
| "//src/ledger/bin/storage/public", |
| "//src/ledger/bin/storage/public:parametrized_tests", |
| "//src/ledger/bin/storage/testing", |
| "//src/ledger/bin/testing:lib", |
| "//src/ledger/lib/logging", |
| "//src/ledger/lib/rng", |
| "//src/ledger/lib/timekeeper", |
| "//src/ledger/lib/vmo", |
| "//third_party/abseil-cpp", |
| "//third_party/googletest:gmock", |
| "//third_party/googletest:gtest", |
| ] |
| |
| configs += [ "//src/ledger:ledger_config" ] |
| } |
| |
| fuzzer("leveldb_fuzzer") { |
| sources = [ "leveldb_fuzztest.cc" ] |
| deps = [ |
| ":lib", |
| "//src/ledger/bin/platform:implementation", |
| "//src/ledger/bin/testing:lib", |
| "//src/ledger/lib/logging", |
| "//zircon/public/lib/async-testing", |
| ] |
| } |
| |
| fuzzer("clock_serialization_fuzzer") { |
| sources = [ "clock_serialization_fuzztest.cc" ] |
| deps = [ ":lib" ] |
| } |
| |
| fuzzer("clock_serialization_device_id_fuzzer") { |
| sources = [ "clock_serialization_device_id_fuzztest.cc" ] |
| deps = [ ":lib" ] |
| } |