| # Copyright 2014 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/config/features.gni") |
| import("//testing/test.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| assert(use_dbus) |
| |
| component("dbus") { |
| sources = [ |
| "bus.cc", |
| "bus.h", |
| "dbus_export.h", |
| "dbus_statistics.cc", |
| "dbus_statistics.h", |
| "exported_object.cc", |
| "exported_object.h", |
| "message.cc", |
| "message.h", |
| "object_manager.cc", |
| "object_manager.h", |
| "object_path.cc", |
| "object_path.h", |
| "object_proxy.cc", |
| "object_proxy.h", |
| "property.cc", |
| "property.h", |
| "scoped_dbus_error.cc", |
| "scoped_dbus_error.h", |
| "string_util.cc", |
| "string_util.h", |
| "util.cc", |
| "util.h", |
| "values_util.cc", |
| "values_util.h", |
| ] |
| |
| defines = [ "DBUS_IMPLEMENTATION" ] |
| |
| deps = [ "//third_party/protobuf:protobuf_lite" ] |
| public_deps = [ "//base" ] |
| |
| public_configs = [ "//build/config/linux/dbus" ] |
| } |
| |
| proto_library("test_proto") { |
| sources = [ "test_proto.proto" ] |
| } |
| |
| # This target contains mocks that can be used to write unit tests without |
| # issuing actual D-Bus calls. |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "mock_bus.cc", |
| "mock_bus.h", |
| "mock_exported_object.cc", |
| "mock_exported_object.h", |
| "mock_object_proxy.cc", |
| "mock_object_proxy.h", |
| ] |
| |
| public_deps = [ ":dbus" ] |
| deps = [ "//testing/gmock" ] |
| |
| configs += [ "//build/config/linux/dbus" ] |
| } |
| |
| test("dbus_unittests") { |
| if ((is_linux && !is_chromeos) || chromeos_is_browser_only) { |
| use_xvfb = true |
| } |
| |
| sources = [ |
| "bus_unittest.cc", |
| "dbus_statistics_unittest.cc", |
| "end_to_end_async_unittest.cc", |
| "end_to_end_sync_unittest.cc", |
| "message_unittest.cc", |
| "mock_unittest.cc", |
| "object_manager_unittest.cc", |
| "object_proxy_unittest.cc", |
| "property_unittest.cc", |
| "signal_sender_verification_unittest.cc", |
| "string_util_unittest.cc", |
| "test_service.cc", |
| "test_service.h", |
| "util_unittest.cc", |
| "values_util_unittest.cc", |
| ] |
| |
| deps = [ |
| ":dbus", |
| ":test_proto", |
| ":test_support", |
| "//base/test:run_all_unittests", |
| "//base/test:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/protobuf:protobuf_lite", |
| ] |
| |
| configs += [ "//build/config/linux/dbus" ] |
| } |
| |
| executable("dbus_test_server") { |
| testonly = true |
| sources = [ |
| "test_server.cc", |
| "test_service.cc", |
| "test_service.h", |
| ] |
| |
| deps = [ |
| ":dbus", |
| "//base", |
| "//base/test:test_support", |
| ] |
| |
| configs += [ "//build/config/linux/dbus" ] |
| } |