Home | History | Annotate | Download | only in dbus
      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