# 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("//build/config/ui.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") { use_xvfb = use_xvfb_in_this_config 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" ] }