1 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 5 import("//testing/test.gni") 6 import("//third_party/protobuf/proto_library.gni") 7 8 component("dbus") { 9 sources = [ 10 "bus.cc", 11 "bus.h", 12 "dbus_export.h", 13 "dbus_statistics.cc", 14 "dbus_statistics.h", 15 "exported_object.cc", 16 "exported_object.h", 17 "file_descriptor.cc", 18 "file_descriptor.h", 19 "message.cc", 20 "message.h", 21 "object_manager.cc", 22 "object_manager.h", 23 "object_path.cc", 24 "object_path.h", 25 "object_proxy.cc", 26 "object_proxy.h", 27 "property.cc", 28 "property.h", 29 "scoped_dbus_error.cc", 30 "scoped_dbus_error.h", 31 "string_util.cc", 32 "string_util.h", 33 "util.cc", 34 "util.h", 35 "values_util.cc", 36 "values_util.h", 37 ] 38 39 defines = [ "DBUS_IMPLEMENTATION" ] 40 41 deps = [ 42 "//third_party/protobuf:protobuf_lite", 43 ] 44 public_deps = [ 45 "//base", 46 ] 47 48 public_configs = [ "//build/config/linux:dbus" ] 49 } 50 51 proto_library("test_proto") { 52 sources = [ 53 "test_proto.proto", 54 ] 55 } 56 57 # This target contains mocks that can be used to write unit tests without 58 # issuing actual D-Bus calls. 59 source_set("test_support") { 60 testonly = true 61 sources = [ 62 "mock_bus.cc", 63 "mock_bus.h", 64 "mock_exported_object.cc", 65 "mock_exported_object.h", 66 "mock_object_manager.cc", 67 "mock_object_manager.h", 68 "mock_object_proxy.cc", 69 "mock_object_proxy.h", 70 ] 71 72 public_deps = [ 73 ":dbus", 74 ] 75 deps = [ 76 "//testing/gmock", 77 ] 78 79 configs += [ "//build/config/linux:dbus" ] 80 } 81 82 test("dbus_unittests") { 83 sources = [ 84 "bus_unittest.cc", 85 "dbus_statistics_unittest.cc", 86 "end_to_end_async_unittest.cc", 87 "end_to_end_sync_unittest.cc", 88 "message_unittest.cc", 89 "mock_unittest.cc", 90 "object_manager_unittest.cc", 91 "object_proxy_unittest.cc", 92 "property_unittest.cc", 93 "signal_sender_verification_unittest.cc", 94 "string_util_unittest.cc", 95 "test_service.cc", 96 "test_service.h", 97 "util_unittest.cc", 98 "values_util_unittest.cc", 99 ] 100 101 deps = [ 102 ":dbus", 103 ":test_proto", 104 ":test_support", 105 "//base/test:run_all_unittests", 106 "//base/test:test_support", 107 "//testing/gmock", 108 "//testing/gtest", 109 "//third_party/protobuf:protobuf_lite", 110 ] 111 112 configs += [ "//build/config/linux:dbus" ] 113 } 114 115 executable("dbus_test_server") { 116 testonly = true 117 sources = [ 118 "test_server.cc", 119 "test_service.cc", 120 "test_service.h", 121 ] 122 123 deps = [ 124 ":dbus", 125 "//base", 126 "//base/test:test_support", 127 "//build/config/sanitizers:deps", 128 ] 129 130 configs += [ "//build/config/linux:dbus" ] 131 } 132