blob: 53999d0512e5157cba6087b3892fbaefa8057e1d [file] [log] [blame]
# 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" ]
}