| # Copyright 2019 The Chromium 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_overrides/build.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| import("../../testing/libfuzzer/fuzzer_test.gni") |
| |
| if (!build_with_chromium) { |
| declare_args() { |
| # Whether or not self-signed certificates are enabled for the receiver |
| # and sender implementations. |
| cast_allow_developer_certificate = false |
| } |
| } |
| |
| config("certificate_config") { |
| defines = [] |
| |
| # TODO(jophba): remove once arg is in Chrome. |
| if (!build_with_chromium) { |
| if (cast_allow_developer_certificate) { |
| defines += [ "CAST_ALLOW_DEVELOPER_CERTIFICATE" ] |
| } |
| } |
| } |
| |
| source_set("certificate") { |
| sources = [ |
| "certificate/cast_cert_validator.cc", |
| "certificate/cast_cert_validator.h", |
| "certificate/cast_cert_validator_internal.cc", |
| "certificate/cast_cert_validator_internal.h", |
| "certificate/cast_crl.cc", |
| "certificate/cast_crl.h", |
| "certificate/cast_trust_store.cc", |
| "certificate/cast_trust_store.h", |
| "certificate/types.cc", |
| "certificate/types.h", |
| ] |
| public_deps = [ "../../third_party/boringssl" ] |
| |
| configs += [ ":certificate_config" ] |
| |
| deps = [ |
| "../../platform", |
| "../../third_party/abseil", |
| "../../util", |
| "certificate/proto:certificate_proto", |
| ] |
| } |
| |
| source_set("channel") { |
| sources = [ |
| "channel/cast_socket.cc", |
| "channel/cast_socket_message_port.cc", |
| "channel/cast_socket_message_port.h", |
| "channel/connection_namespace_handler.cc", |
| "channel/connection_namespace_handler.h", |
| "channel/message_framer.cc", |
| "channel/message_framer.h", |
| "channel/message_util.cc", |
| "channel/message_util.h", |
| "channel/namespace_router.cc", |
| "channel/namespace_router.h", |
| "channel/virtual_connection.h", |
| "channel/virtual_connection_router.cc", |
| "channel/virtual_connection_router.h", |
| "public/cast_socket.h", |
| ] |
| |
| deps = [ "certificate/proto:certificate_proto" ] |
| |
| public_deps = [ |
| "../../platform", |
| "../../third_party/abseil", |
| "../../util", |
| "channel/proto:channel_proto", |
| ] |
| } |
| |
| source_set("public") { |
| sources = [ |
| "public/message_port.h", |
| "public/service_info.cc", |
| "public/service_info.h", |
| ] |
| |
| deps = [ |
| "../../discovery:dnssd", |
| "../../discovery:public", |
| "../../platform", |
| "../../third_party/abseil", |
| ] |
| } |
| |
| if (!build_with_chromium) { |
| source_set("discovery_e2e_test") { |
| testonly = true |
| |
| if (!is_mac) { |
| sources = [ "discovery/e2e_test/tests.cc" ] |
| } |
| |
| deps = [ |
| ":public", |
| "../../discovery:dnssd", |
| "../../discovery:public", |
| "../../testing/util", |
| "../../third_party/googletest:gtest", |
| ] |
| } |
| } |
| |
| source_set("test_helpers") { |
| testonly = true |
| |
| sources = [ |
| "certificate/testing/test_helpers.cc", |
| "certificate/testing/test_helpers.h", |
| "channel/testing/fake_cast_socket.h", |
| "channel/testing/mock_cast_message_handler.h", |
| "channel/testing/mock_socket_error_handler.h", |
| "public/testing/discovery_utils.cc", |
| "public/testing/discovery_utils.h", |
| ] |
| public_deps = [ |
| ":certificate", |
| ":channel", |
| ":public", |
| "../../platform:test", |
| "../../testing/util", |
| "../../third_party/abseil", |
| "../../third_party/boringssl", |
| "../../third_party/googletest:gmock", |
| "../../third_party/googletest:gtest", |
| ] |
| deps = [ |
| "../../platform", |
| "../../platform:test", |
| ] |
| } |
| |
| source_set("unittests") { |
| testonly = true |
| sources = [ |
| "certificate/cast_cert_validator_unittest.cc", |
| "certificate/cast_crl_unittest.cc", |
| "channel/cast_socket_unittest.cc", |
| "channel/connection_namespace_handler_unittest.cc", |
| "channel/message_framer_unittest.cc", |
| "channel/namespace_router_unittest.cc", |
| "channel/virtual_connection_router_unittest.cc", |
| "public/service_info_unittest.cc", |
| ] |
| |
| deps = [ |
| ":certificate", |
| ":channel", |
| ":public", |
| ":test_helpers", |
| "../../platform", |
| "../../platform:test", |
| "../../testing/util", |
| "../../third_party/boringssl", |
| "../../third_party/googletest:gmock", |
| "../../third_party/googletest:gtest", |
| "../../util", |
| "certificate/proto:certificate_unittest_proto", |
| "channel/proto:channel_proto", |
| ] |
| |
| data = [ "../../test/data/cast/common/certificate/" ] |
| } |
| |
| openscreen_fuzzer_test("message_framer_fuzzer") { |
| sources = [ "channel/message_framer_fuzzer.cc" ] |
| deps = [ ":channel" ] |
| |
| seed_corpus = "channel/message_framer_fuzzer_seeds" |
| |
| # NOTE: 65536 is max _body_ size. |
| libfuzzer_options = [ "max_len=65600" ] |
| } |