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