blob: bb0f17195bec1810fdede393497e55365cf6182c [file] [log] [blame]
# Copyright 2017 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.
visibility = [ "$cobalt_root/*" ]
import("//build/test.gni")
import("//third_party/protobuf/proto_library.gni")
source_set("clock") {
sources = [ "clock.h" ]
public_deps = [
"$cobalt_root/src/public/lib:clock_interfaces",
"$cobalt_root/src/public/lib/statusor",
]
public_configs = [ "$cobalt_root:cobalt_config" ]
}
source_set("sleeper") {
sources = [ "sleeper.h" ]
public_deps = [ ":clock" ]
}
source_set("sleeper_test") {
testonly = true
sources = [ "sleeper_test.cc" ]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":sleeper",
"//third_party/googletest:gtest",
]
}
source_set("proto_serialization") {
sources = [
# Sources from protobuf that are not included in protobuf lite
"//third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.cc",
"//third_party/protobuf/src/google/protobuf/io/zero_copy_stream_impl.h",
"//third_party/protobuf/src/google/protobuf/util/delimited_message_util.cc",
"//third_party/protobuf/src/google/protobuf/util/delimited_message_util.h",
]
public_deps = [ "//third_party/protobuf:protobuf_lite" ]
configs += [ "//third_party/protobuf:protobuf_warnings" ]
}
source_set("encrypted_message_util") {
sources = [
"encrypted_message_util.cc",
"encrypted_message_util.h",
"hybrid_tink_encrypted_message_maker.cc",
"hybrid_tink_encrypted_message_maker.h",
]
configs += [ "//build/config:no_rtti" ]
configs -= [ "//build/config:no_rtti" ]
public_configs = [ "$cobalt_root:cobalt_config" ]
deps = [
"$cobalt_root/src/lib/crypto_util",
"$cobalt_root/src/public/lib:status",
"$cobalt_root/src/public/lib/statusor",
"//third_party/abseil-cpp/absl/strings",
]
public_deps = [
"$cobalt_root/src:logging",
"$cobalt_root/src:tracing",
"$cobalt_root/src/pb",
"//third_party/tink/cc:hybrid_encrypt",
"//third_party/tink/cc:keyset_handle",
"//third_party/tink/cc/hybrid:hybrid_config",
"//third_party/tink/cc/util:status",
]
}
source_set("encrypted_message_util_test") {
testonly = true
sources = [ "encrypted_message_util_test.cc" ]
configs += [ "//build/config:no_rtti" ]
configs -= [ "//build/config:no_rtti" ]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":encrypted_message_util",
"$cobalt_root/src/lib/crypto_util",
"//third_party/googletest:gtest",
"//third_party/tink/cc:cleartext_keyset_handle",
"//third_party/tink/cc/hybrid:hybrid_key_templates",
"//third_party/tink/proto:tink_proto",
]
}
static_library("datetime_util") {
sources = [
"datetime_util.cc",
"datetime_util.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [ "$cobalt_root/src/public/lib/statusor" ]
public_deps = [
"$cobalt_root/src:logging",
"$cobalt_root/src/public/lib:clock_interfaces",
"$cobalt_root/src/public/lib/statusor",
"$cobalt_root/src/registry:cobalt_registry_proto",
]
visibility += [ "//src/cobalt/bin/testapp:cobalt_testapp" ]
}
source_set("datetime_util_test") {
testonly = true
sources = [ "datetime_util_test.cc" ]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":clock",
":datetime_util",
"$cobalt_root/src/public/lib/statusor",
"//third_party/googletest:gtest",
]
}
static_library("file_util") {
sources = [
"file_util.cc",
"file_util.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
public_deps = [ ":status_builder" ]
deps = [
":named_type",
"$cobalt_root/src:logging",
"$cobalt_root/src/lib/crypto_util",
"$cobalt_root/src/public/lib:status",
"$cobalt_root/src/public/lib/statusor",
"//third_party/abseil-cpp/absl/strings",
]
visibility += [ "//src/cobalt/bin/app:lib" ]
}
test("file_util_test") {
testonly = true
sources = [ "file_util_test.cc" ]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":file_util",
":file_util_test_files",
"$cobalt_root/src:logging",
"//third_party/abseil-cpp/absl/strings",
"//third_party/googletest:gtest",
]
}
copy("file_util_test_files") {
sources = [
"test_data/deadbeef",
"test_data/empty",
"test_data/hex_too_short",
"test_data/hex_wrong_char",
]
outputs =
[ "$root_out_dir/tests/cpp/file_util_test_files/{{source_file_part}}" ]
}
static_library("pem_util") {
sources = [
"pem_util.cc",
"pem_util.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":file_util",
"$cobalt_root/src:logging",
"$cobalt_root/src/lib/crypto_util",
]
visibility += [ "//src/cobalt/bin/app:lib" ]
}
source_set("status_builder") {
sources = [
"source_location.h",
"status_builder.cc",
"status_builder.h",
]
deps = [
"$cobalt_root/src:logging",
"$cobalt_root/src/pb",
"$cobalt_root/src/public/lib:status",
]
configs += [ "$cobalt_root:cobalt_config" ]
public_deps = [
"$cobalt_root/src/registry:cobalt_registry_proto",
"//third_party/protobuf:protobuf_lite",
]
}
source_set("status_builder_test") {
testonly = true
sources = [ "status_builder_test.cc" ]
deps = [
":status_builder",
"$cobalt_root/src:logging",
"//third_party/googletest:gmock",
"//third_party/googletest:gtest",
]
configs += [ "$cobalt_root:cobalt_config" ]
}
source_set("file_system") {
sources = [
"file_system.cc",
"file_system.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
public_deps = [
":proto_serialization",
"$cobalt_root/src/public/lib/statusor",
"//third_party/abseil-cpp/absl/strings",
]
}
static_library("posix_file_system") {
sources = [
"posix_file_system.cc",
"posix_file_system.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
public_deps = [ ":file_system" ]
visibility += [ "//src/cobalt/bin/app:lib" ]
}
static_library("consistent_proto_store") {
sources = [
"consistent_proto_store.cc",
"consistent_proto_store.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":proto_serialization",
"$cobalt_root/src:logging",
"$cobalt_root/src/lib/util:posix_file_system",
"$cobalt_root/src/public/lib:status",
"$cobalt_root/src/public/lib/statusor",
"//third_party/abseil-cpp/absl/strings",
]
public_deps = [ "//third_party/protobuf:protobuf_lite" ]
}
proto_library("consistent_proto_store_test_proto") {
sources = [ "consistent_proto_store_test.proto" ]
cc_generator_options = "lite"
extra_configs = [
"$cobalt_root/src/registry:proto_config",
"$cobalt_root:cobalt_config",
]
}
source_set("consistent_proto_store_test") {
testonly = true
sources = [ "consistent_proto_store_test.cc" ]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":consistent_proto_store",
":consistent_proto_store_test_proto",
"$cobalt_root/src/lib/util:posix_file_system",
"//third_party/googletest:gtest",
]
}
static_library("proto_util") {
sources = [
"proto_util.cc",
"proto_util.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
"$cobalt_root/src:logging",
"//third_party/abseil-cpp",
"//third_party/protobuf:protobuf_lite",
]
}
source_set("protected_fields") {
sources = [ "protected_fields.h" ]
configs += [ "$cobalt_root:cobalt_config" ]
}
source_set("protected_fields_test") {
testonly = true
sources = [ "protected_fields_test.cc" ]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [
":protected_fields",
"//third_party/googletest:gtest",
]
}
source_set("hash") {
sources = [
"hash.cc",
"hash.h",
]
configs += [ "$cobalt_root:cobalt_config" ]
deps = [ "//third_party/github.com/google/farmhash" ]
}
source_set("named_type") {
sources = [ "named_type.h" ]
}
source_set("not_null") {
sources = [ "not_null.h" ]
public_deps = [ "$cobalt_root/src:logging" ]
}
group("tests") {
testonly = true
deps = [
":consistent_proto_store_test",
":datetime_util_test",
":encrypted_message_util_test",
":file_util_test",
":protected_fields_test",
":sleeper_test",
":status_builder_test",
]
}