Home | History | Annotate | Download | only in system
      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("//build/config/android/rules.gni")
      6 
      7 group("system") {
      8   testonly = true
      9   deps = [
     10     ":mojo_javatests",
     11     ":mojo_test_apk",
     12     ":system_impl_java",
     13   ]
     14 }
     15 
     16 generate_jni("jni_headers") {
     17   sources = [
     18     "javatests/src/org/chromium/mojo/MojoTestRule.java",
     19     "javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java",
     20   ]
     21   public_deps = [
     22     ":system_impl_java_jni_headers",
     23   ]
     24 
     25   jni_package = "mojo"
     26 }
     27 
     28 generate_jni("system_impl_java_jni_headers") {
     29   sources = [
     30     "src/org/chromium/mojo/system/impl/BaseRunLoop.java",
     31     "src/org/chromium/mojo/system/impl/CoreImpl.java",
     32     "src/org/chromium/mojo/system/impl/WatcherImpl.java",
     33   ]
     34 
     35   jni_package = "mojo"
     36 }
     37 
     38 source_set("native_support") {
     39   sources = [
     40     "base_run_loop.cc",
     41     "core_impl.cc",
     42     "watcher_impl.cc",
     43   ]
     44 
     45   deps = [
     46     ":system_impl_java_jni_headers",
     47     "//base",
     48     "//mojo/public/c/system",
     49     "//mojo/public/cpp/system",
     50   ]
     51 }
     52 
     53 android_library("system_impl_java") {
     54   java_files = [
     55     "src/org/chromium/mojo/system/impl/BaseRunLoop.java",
     56     "src/org/chromium/mojo/system/impl/CoreImpl.java",
     57     "src/org/chromium/mojo/system/impl/DataPipeConsumerHandleImpl.java",
     58     "src/org/chromium/mojo/system/impl/DataPipeProducerHandleImpl.java",
     59     "src/org/chromium/mojo/system/impl/HandleBase.java",
     60     "src/org/chromium/mojo/system/impl/MessagePipeHandleImpl.java",
     61     "src/org/chromium/mojo/system/impl/SharedBufferHandleImpl.java",
     62     "src/org/chromium/mojo/system/impl/UntypedHandleImpl.java",
     63     "src/org/chromium/mojo/system/impl/WatcherImpl.java",
     64   ]
     65 
     66   deps = [
     67     "//base:base_java",
     68     "//mojo/public/java:system_java",
     69   ]
     70 }
     71 
     72 # Targets should also depend on :test_support for the native side.
     73 android_library("test_support_java") {
     74   testonly = true
     75   java_files = [ "javatests/src/org/chromium/mojo/MojoTestRule.java" ]
     76   deps = [
     77     "//base:base_java",
     78     "//third_party/junit",
     79   ]
     80 }
     81 
     82 source_set("test_support") {
     83   testonly = true
     84   sources = [
     85     "javatests/mojo_test_rule.cc",
     86   ]
     87   deps = [
     88     ":jni_headers",
     89     "//base",
     90     "//base/test:test_support",
     91     "//mojo/core/embedder",
     92   ]
     93   defines = [ "UNIT_TEST" ]
     94 }
     95 
     96 android_library("mojo_javatests") {
     97   testonly = true
     98   java_files = [
     99     "javatests/src/org/chromium/mojo/HandleMock.java",
    100     "javatests/src/org/chromium/mojo/TestUtils.java",
    101     "javatests/src/org/chromium/mojo/bindings/BindingsHelperTest.java",
    102     "javatests/src/org/chromium/mojo/bindings/BindingsTest.java",
    103     "javatests/src/org/chromium/mojo/bindings/BindingsTestUtils.java",
    104     "javatests/src/org/chromium/mojo/bindings/BindingsVersioningTest.java",
    105     "javatests/src/org/chromium/mojo/bindings/CallbacksTest.java",
    106     "javatests/src/org/chromium/mojo/bindings/ConnectorTest.java",
    107     "javatests/src/org/chromium/mojo/bindings/ExecutorFactoryTest.java",
    108     "javatests/src/org/chromium/mojo/bindings/InterfacesTest.java",
    109     "javatests/src/org/chromium/mojo/bindings/MessageHeaderTest.java",
    110     "javatests/src/org/chromium/mojo/bindings/NameGeneratorTest.java",
    111     "javatests/src/org/chromium/mojo/bindings/ReadAndDispatchMessageTest.java",
    112     "javatests/src/org/chromium/mojo/bindings/RouterTest.java",
    113     "javatests/src/org/chromium/mojo/bindings/SerializationTest.java",
    114     "javatests/src/org/chromium/mojo/bindings/test/mojom/mojo/IntegrationTestInterfaceTestHelper.java",
    115     "javatests/src/org/chromium/mojo/bindings/ValidationTest.java",
    116     "javatests/src/org/chromium/mojo/bindings/ValidationTestUtil.java",
    117     "javatests/src/org/chromium/mojo/bindings/ValidationTestUtilTest.java",
    118     "javatests/src/org/chromium/mojo/system/impl/CoreImplTest.java",
    119     "javatests/src/org/chromium/mojo/system/impl/WatcherImplTest.java",
    120   ]
    121 
    122   deps = [
    123     ":system_impl_java",
    124     ":test_support_java",
    125     "//base:base_java",
    126     "//base:base_java_test_support",
    127     "//mojo/public/interfaces/bindings/tests:test_interfaces_java",
    128     "//mojo/public/interfaces/bindings/tests:test_mojom_import2_java",
    129     "//mojo/public/interfaces/bindings/tests:test_mojom_import_java",
    130     "//mojo/public/java:bindings_java",
    131     "//mojo/public/java:system_java",
    132     "//third_party/android_support_test_runner:runner_java",
    133     "//third_party/junit",
    134   ]
    135 
    136   data = [
    137     "//mojo/public/interfaces/bindings/tests/data/validation/",
    138   ]
    139 }
    140 
    141 shared_library("mojo_java_unittests") {
    142   testonly = true
    143 
    144   sources = [
    145     "javatests/init_library.cc",
    146     "javatests/validation_test_util.cc",
    147   ]
    148 
    149   deps = [
    150     ":jni_headers",
    151     ":native_support",
    152     ":system_impl_java_jni_headers",
    153     ":test_support",
    154     "//base",
    155     "//base/test:test_support",
    156     "//mojo/core/embedder",
    157     "//mojo/public/cpp/bindings/tests:mojo_public_bindings_test_utils",
    158     "//mojo/public/cpp/test_support:test_utils",
    159   ]
    160   defines = [ "UNIT_TEST" ]
    161   configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
    162   configs += [ "//build/config/android:hide_all_but_jni" ]
    163 }
    164 
    165 instrumentation_test_apk("mojo_test_apk") {
    166   deps = [
    167     ":mojo_javatests",
    168     ":system_impl_java",
    169     "//base:base_java",
    170     "//mojo/public/interfaces/bindings/tests:test_interfaces",
    171     "//mojo/public/java:bindings_java",
    172     "//third_party/android_support_test_runner:runner_java",
    173   ]
    174   shared_libraries = [ ":mojo_java_unittests" ]
    175   apk_name = "MojoTest"
    176   android_manifest = "javatests/AndroidManifest.xml"
    177 }
    178