1# Copyright 2014 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//build/config/android/config.gni") 6import("//build/config/android/rules.gni") 7import("//third_party/jni_zero/jni_zero.gni") 8 9android_library("net_java") { 10 sources = [ 11 "java/src/org/chromium/net/AndroidCertVerifyResult.java", 12 "java/src/org/chromium/net/AndroidKeyStore.java", 13 "java/src/org/chromium/net/AndroidNetworkLibrary.java", 14 "java/src/org/chromium/net/AndroidTrafficStats.java", 15 "java/src/org/chromium/net/ChromiumNetworkAdapter.java", 16 "java/src/org/chromium/net/DnsStatus.java", 17 "java/src/org/chromium/net/GURLUtils.java", 18 "java/src/org/chromium/net/HttpNegotiateAuthenticator.java", 19 "java/src/org/chromium/net/HttpNegotiateConstants.java", 20 "java/src/org/chromium/net/HttpUtil.java", 21 "java/src/org/chromium/net/MimeTypeFilter.java", 22 "java/src/org/chromium/net/NetStringUtil.java", 23 "java/src/org/chromium/net/NetworkActiveNotifier.java", 24 "java/src/org/chromium/net/NetworkChangeNotifier.java", 25 "java/src/org/chromium/net/NetworkChangeNotifierAutoDetect.java", 26 "java/src/org/chromium/net/NetworkTrafficAnnotationTag.java", 27 "java/src/org/chromium/net/ProxyBroadcastReceiver.java", 28 "java/src/org/chromium/net/ProxyChangeListener.java", 29 "java/src/org/chromium/net/RegistrationPolicyAlwaysRegister.java", 30 "java/src/org/chromium/net/RegistrationPolicyApplicationStatus.java", 31 "java/src/org/chromium/net/X509Util.java", 32 ] 33 deps = [ 34 ":net_thread_stats_uid_java", 35 "//base:base_java", 36 "//build/android:build_java", 37 "//third_party/android_deps:com_google_code_findbugs_jsr305_java", 38 "//third_party/androidx:androidx_annotation_annotation_java", 39 "//third_party/jni_zero:jni_zero_java", 40 ] 41 srcjar_deps = [ 42 ":net_android_java_enums_srcjar", 43 ":net_errors_java", 44 "//net:net_jni_headers", 45 ] 46 resources_package = "org.chromium.native_test" 47} 48 49android_library("net_thread_stats_uid_java") { 50 sources = [ "java/src/org/chromium/net/ThreadStatsUid.java" ] 51} 52 53android_aidl("embedded_test_server_aidl") { 54 interface_file = "../test/android/javatests/src/org/chromium/net/test/IEmbeddedTestServerInterface.aidl" 55 sources = [ 56 "../test/android/javatests/src/org/chromium/net/test/IConnectionListener.aidl", 57 "../test/android/javatests/src/org/chromium/net/test/IEmbeddedTestServerImpl.aidl", 58 ] 59} 60 61android_library("embedded_test_server_aidl_java") { 62 testonly = true 63 deps = [] 64 srcjar_deps = [ ":embedded_test_server_aidl" ] 65} 66 67generate_jni("net_test_support_jni") { 68 testonly = true 69 sources = [ "../test/android/javatests/src/org/chromium/net/AndroidNetworkLibraryTestUtil.java" ] 70} 71 72android_library("net_java_test_support") { 73 testonly = true 74 sources = [ 75 "../test/android/javatests/src/org/chromium/net/AndroidNetworkLibraryTestUtil.java", 76 "../test/android/javatests/src/org/chromium/net/test/EmbeddedTestServer.java", 77 "../test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerRule.java", 78 "../test/android/javatests/src/org/chromium/net/test/util/CertTestUtil.java", 79 "../test/android/javatests/src/org/chromium/net/test/util/NetworkChangeNotifierTestUtil.java", 80 "../test/android/javatests/src/org/chromium/net/test/util/TestWebServer.java", 81 "../test/android/javatests/src/org/chromium/net/test/util/WebServer.java", 82 ] 83 deps = [ 84 ":embedded_test_server_aidl_java", 85 ":net_java", 86 "//base:base_java", 87 "//base:base_java_test_support", 88 "//base:base_java_url_utils_for_test", 89 "//third_party/androidx:androidx_annotation_annotation_java", 90 "//third_party/androidx:androidx_test_monitor_java", 91 "//third_party/androidx:androidx_test_uiautomator_uiautomator_java", 92 "//third_party/jni_zero:jni_zero_java", 93 "//third_party/junit", 94 ] 95 srcjar_deps = [ 96 ":net_java_test_support_enums_srcjar", 97 ":net_test_support_jni", 98 ] 99 mergeable_android_manifests = 100 [ "../test/android/javatests/AndroidManifest_client.xml" ] 101} 102 103generate_jni("net_test_support_provider_jni") { 104 testonly = true 105 sources = [ 106 "../test/android/javatests/src/org/chromium/net/test/DummySpnegoAuthenticator.java", 107 "../test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerImpl.java", 108 ] 109} 110 111android_library("net_test_support_provider_java") { 112 testonly = true 113 sources = [ 114 "../test/android/javatests/src/org/chromium/net/test/DummySpnegoAuthenticator.java", 115 "../test/android/javatests/src/org/chromium/net/test/DummySpnegoAuthenticatorService.java", 116 "../test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerImpl.java", 117 "../test/android/javatests/src/org/chromium/net/test/EmbeddedTestServerService.java", 118 ] 119 srcjar_deps = [ ":net_test_support_provider_jni" ] 120 121 deps = [ 122 ":embedded_test_server_aidl_java", 123 ":net_java", 124 "//base:base_java", 125 "//base:base_java_url_utils_for_test", 126 "//third_party/jni_zero:jni_zero_java", 127 ] 128 129 data_deps = [ "//net:test_support" ] 130} 131 132source_set("java_test_native_support") { 133 testonly = true 134 sources = [ 135 "../test/android/net_test_entry_point.cc", 136 "../test/android/net_test_jni_onload.cc", 137 "../test/android/net_test_jni_onload.h", 138 "../test/embedded_test_server/android/embedded_test_server_android.cc", 139 "../test/embedded_test_server/android/embedded_test_server_android.h", 140 ] 141 142 deps = [ "//net:test_support" ] 143 public_deps = [ ":net_test_support_provider_jni" ] 144} 145 146shared_library_with_jni("net_java_test_native_support") { 147 testonly = true 148 deps = [ 149 ":java_test_native_support", 150 "//net:test_support", 151 ] 152 153 configs -= [ "//build/config/android:hide_all_but_jni_onload" ] 154 configs += [ "//build/config/android:hide_all_but_jni" ] 155 java_targets = [ ":net_test_support_apk" ] 156} 157 158android_apk("net_test_support_apk") { 159 testonly = true 160 161 # Used as an additional_apk in test scripts. 162 never_incremental = true 163 164 # Required on Android Q+ to read from /sdcard when installing certs. 165 target_sdk_version = 28 166 167 deps = [ 168 ":net_java_test_support", 169 ":net_test_support_provider_java", 170 ] 171 android_manifest = "../test/android/javatests/AndroidManifest.xml" 172 apk_name = "ChromiumNetTestSupport" 173 shared_libraries = [ ":net_java_test_native_support" ] 174 srcjar_deps = [ ":net_java_test_native_support__jni_registration" ] 175} 176 177android_resources("net_unittests_apk_resources") { 178 sources = [ 179 "unittest_support/res/mipmap-hdpi/app_icon.png", 180 "unittest_support/res/mipmap-mdpi/app_icon.png", 181 "unittest_support/res/mipmap-xhdpi/app_icon.png", 182 "unittest_support/res/mipmap-xxhdpi/app_icon.png", 183 "unittest_support/res/mipmap-xxxhdpi/app_icon.png", 184 "unittest_support/res/xml/dummy_spnego_account_preferences.xml", 185 "unittest_support/res/xml/dummy_spnego_authenticator.xml", 186 ] 187} 188 189generate_jni("net_tests_jni") { 190 testonly = true 191 sources = [ 192 "javatests/src/org/chromium/net/AndroidKeyStoreTestUtil.java", 193 "javatests/src/org/chromium/net/AndroidProxyConfigServiceTestUtil.java", 194 ] 195} 196 197android_library("net_tests_java") { 198 testonly = true 199 sources = [ 200 "javatests/src/org/chromium/net/AndroidKeyStoreTestUtil.java", 201 "javatests/src/org/chromium/net/AndroidNetworkLibraryTest.java", 202 "javatests/src/org/chromium/net/AndroidProxyConfigServiceTestUtil.java", 203 "javatests/src/org/chromium/net/AndroidProxySelectorTest.java", 204 "javatests/src/org/chromium/net/HttpUtilTest.java", 205 "javatests/src/org/chromium/net/MimeTypeFilterTest.java", 206 "javatests/src/org/chromium/net/NetErrorsTest.java", 207 "javatests/src/org/chromium/net/NetworkChangeNotifierNoNativeTest.java", 208 "javatests/src/org/chromium/net/NetworkChangeNotifierTest.java", 209 "javatests/src/org/chromium/net/ProxyChangeListenerTest.java", 210 "javatests/src/org/chromium/net/X509UtilTest.java", 211 ] 212 srcjar_deps = [ ":net_tests_jni" ] 213 deps = [ 214 ":net_java", 215 ":net_java_test_support", 216 "//base:base_java", 217 "//base:base_java_test_support", 218 "//third_party/android_sdk:android_test_mock_java", 219 "//third_party/androidx:androidx_test_monitor_java", 220 "//third_party/androidx:androidx_test_rules_java", 221 "//third_party/androidx:androidx_test_runner_java", 222 "//third_party/jni_zero:jni_zero_java", 223 "//third_party/junit", 224 "//third_party/mockito:mockito_java", 225 ] 226} 227 228java_cpp_template("net_errors_java") { 229 sources = [ "java/NetError.template" ] 230 inputs = [ "../base/net_error_list.h" ] 231} 232 233java_cpp_enum("net_java_test_support_enums_srcjar") { 234 sources = [ 235 "../test/embedded_test_server/embedded_test_server.h", 236 "../test/url_request/url_request_failed_job.h", 237 ] 238} 239 240java_cpp_enum("net_android_java_enums_srcjar") { 241 sources = [ 242 "../base/network_change_notifier.h", 243 "../socket/socket_tag.cc", 244 "cert_verify_result_android.h", 245 "keystore.h", 246 "network_change_notifier_android.cc", 247 "traffic_stats.cc", 248 ] 249} 250 251robolectric_binary("net_junit_tests") { 252 sources = [ 253 "junit/src/org/chromium/net/HttpNegotiateAuthenticatorTest.java", 254 "junit/src/org/chromium/net/NetworkTrafficAnnotationTagTest.java", 255 ] 256 deps = [ 257 ":net_java", 258 "//base:base_java", 259 "//base:base_java_test_support", 260 "//base:base_junit_test_support", 261 "//third_party/hamcrest:hamcrest_java", 262 "//third_party/jni_zero:jni_zero_java", 263 ] 264} 265