| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 1 | //######################################################################## | 
|  | 2 | // Build FrameworksNetTests package | 
|  | 3 | //######################################################################## | 
|  | 4 | package { | 
|  | 5 | // See: http://go/android-license-faq | 
|  | 6 | // A large-scale-change added 'default_applicable_licenses' to import | 
| Baligh Uddin | 2afd098 | 2021-05-24 03:50:01 +0000 | [diff] [blame] | 7 | // all of the 'license_kinds' from "Android-Apache-2.0" | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 8 | // to get the below license kinds: | 
|  | 9 | //   SPDX-license-identifier-Apache-2.0 | 
| Baligh Uddin | 2afd098 | 2021-05-24 03:50:01 +0000 | [diff] [blame] | 10 | default_applicable_licenses: ["Android-Apache-2.0"], | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 11 | } | 
|  | 12 |  | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 13 | // Whether to enable the FrameworksNetTests. Set to false in the branches that might have older | 
|  | 14 | // frameworks/base since FrameworksNetTests includes the test for classes that are not in | 
|  | 15 | // connectivity module. | 
|  | 16 | enable_frameworks_net_tests = true | 
|  | 17 | // Placeholder | 
|  | 18 | // This is a placeholder comment to minimize merge conflicts, as enable_frameworks_net_tests | 
|  | 19 | // may have different values depending on the branch | 
|  | 20 | // Placeholder | 
|  | 21 |  | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 22 | java_defaults { | 
|  | 23 | name: "FrameworksNetTests-jni-defaults", | 
|  | 24 | jni_libs: [ | 
|  | 25 | "ld-android", | 
| Lorenzo Colitti | 0c26c9e | 2022-01-27 18:40:51 +0900 | [diff] [blame] | 26 | "libandroid_net_frameworktests_util_jni", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 27 | "libbase", | 
|  | 28 | "libbinder", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 29 | "libc++", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 30 | "libcrypto", | 
|  | 31 | "libcutils", | 
|  | 32 | "libdl_android", | 
|  | 33 | "libhidl-gen-utils", | 
|  | 34 | "libhidlbase", | 
|  | 35 | "libjsoncpp", | 
|  | 36 | "liblog", | 
|  | 37 | "liblzma", | 
|  | 38 | "libnativehelper", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 39 | "libnetdutils", | 
| Ken Chen | f426b2b | 2022-01-23 15:39:13 +0800 | [diff] [blame] | 40 | "libnetworkstats", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 41 | "libnetworkstatsfactorytestjni", | 
|  | 42 | "libpackagelistparser", | 
|  | 43 | "libpcre2", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 44 | "libselinux", | 
|  | 45 | "libtinyxml2", | 
|  | 46 | "libui", | 
|  | 47 | "libunwindstack", | 
|  | 48 | "libutils", | 
|  | 49 | "libutilscallstack", | 
|  | 50 | "libvndksupport", | 
|  | 51 | "libziparchive", | 
|  | 52 | "libz", | 
|  | 53 | "netd_aidl_interface-V5-cpp", | 
|  | 54 | ], | 
|  | 55 | } | 
|  | 56 |  | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 57 | filegroup { | 
|  | 58 | name: "non-connectivity-module-test", | 
|  | 59 | srcs: [ | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 60 | "java/android/net/Ikev2VpnProfileTest.java", | 
|  | 61 | "java/android/net/IpMemoryStoreTest.java", | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 62 | "java/android/net/TelephonyNetworkSpecifierTest.java", | 
|  | 63 | "java/android/net/VpnManagerTest.java", | 
|  | 64 | "java/android/net/ipmemorystore/*.java", | 
| junyulai | a1bb3a3 | 2022-01-25 09:55:24 +0800 | [diff] [blame] | 65 | "java/android/net/netstats/NetworkStatsDataMigrationUtilsTest.kt", | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 66 | "java/com/android/internal/net/NetworkUtilsInternalTest.java", | 
|  | 67 | "java/com/android/internal/net/VpnProfileTest.java", | 
| chiachangwang | 7f5d049 | 2022-06-28 09:15:12 +0000 | [diff] [blame] | 68 | "java/com/android/server/VpnManagerServiceTest.java", | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 69 | "java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java", | 
|  | 70 | "java/com/android/server/connectivity/IpConnectivityMetricsTest.java", | 
| Mark | 53e71c3 | 2023-01-13 07:00:25 +0000 | [diff] [blame] | 71 | "java/com/android/server/connectivity/MetricsTestUtil.java", | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 72 | "java/com/android/server/connectivity/MultipathPolicyTrackerTest.java", | 
|  | 73 | "java/com/android/server/connectivity/NetdEventListenerServiceTest.java", | 
|  | 74 | "java/com/android/server/connectivity/VpnTest.java", | 
|  | 75 | "java/com/android/server/net/ipmemorystore/*.java", | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 76 | ] | 
|  | 77 | } | 
|  | 78 |  | 
| Remi NGUYEN VAN | f96ecf2 | 2021-11-19 18:26:07 +0900 | [diff] [blame] | 79 | // Subset of services-core used to by ConnectivityService tests to test VPN realistically. | 
|  | 80 | // This is stripped by jarjar (see rules below) from other unrelated classes, so tests do not | 
|  | 81 | // include most classes from services-core, which are unrelated and cause wrong code coverage | 
|  | 82 | // calculations. | 
|  | 83 | java_library { | 
|  | 84 | name: "services.core-vpn", | 
|  | 85 | static_libs: ["services.core"], | 
|  | 86 | jarjar_rules: "vpn-jarjar-rules.txt", | 
|  | 87 | visibility: ["//visibility:private"], | 
|  | 88 | } | 
|  | 89 |  | 
| Remi NGUYEN VAN | 2ba9dbe | 2022-02-01 23:07:33 +0900 | [diff] [blame] | 90 | java_defaults { | 
|  | 91 | name: "FrameworksNetTestsDefaults", | 
| Remi NGUYEN VAN | 168b3d1 | 2021-06-21 13:36:05 +0000 | [diff] [blame] | 92 | min_sdk_version: "30", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 93 | defaults: [ | 
| Remi NGUYEN VAN | 1a8ee10 | 2022-05-30 12:42:24 +0900 | [diff] [blame] | 94 | "framework-connectivity-internal-test-defaults", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 95 | ], | 
|  | 96 | srcs: [ | 
|  | 97 | "java/**/*.java", | 
|  | 98 | "java/**/*.kt", | 
|  | 99 | ], | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 100 | static_libs: [ | 
|  | 101 | "androidx.test.rules", | 
| Daniel Peykov | 2bf3a38 | 2022-09-16 16:52:24 +0000 | [diff] [blame] | 102 | "androidx.test.uiautomator_uiautomator", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 103 | "bouncycastle-repackaged-unbundled", | 
| Remi NGUYEN VAN | 819045f | 2021-06-07 13:10:49 +0900 | [diff] [blame] | 104 | "core-tests-support", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 105 | "FrameworksNetCommonTests", | 
|  | 106 | "frameworks-base-testutils", | 
|  | 107 | "frameworks-net-integration-testutils", | 
|  | 108 | "framework-protos", | 
|  | 109 | "mockito-target-minus-junit4", | 
|  | 110 | "net-tests-utils", | 
| Remi NGUYEN VAN | f96ecf2 | 2021-11-19 18:26:07 +0900 | [diff] [blame] | 111 | "net-utils-services-common", | 
| Luke Huang | 952a55c | 2021-07-13 11:58:37 +0800 | [diff] [blame] | 112 | "platform-compat-test-rules", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 113 | "platform-test-annotations", | 
|  | 114 | "service-connectivity-pre-jarjar", | 
| paulhu | 802ab97 | 2021-12-14 01:30:22 +0000 | [diff] [blame] | 115 | "service-connectivity-tiramisu-pre-jarjar", | 
| Remi NGUYEN VAN | f96ecf2 | 2021-11-19 18:26:07 +0900 | [diff] [blame] | 116 | "services.core-vpn", | 
| Aaron Huang | 361e617 | 2023-02-03 17:35:12 +0800 | [diff] [blame] | 117 | "testables", | 
| Paul Hu | 67db37d | 2022-07-29 01:50:24 +0000 | [diff] [blame] | 118 | "cts-net-utils" | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 119 | ], | 
|  | 120 | libs: [ | 
|  | 121 | "android.net.ipsec.ike.stubs.module_lib", | 
|  | 122 | "android.test.runner", | 
|  | 123 | "android.test.base", | 
|  | 124 | "android.test.mock", | 
|  | 125 | "ServiceConnectivityResources", | 
|  | 126 | ], | 
| Wei Li | 8a177f6 | 2022-01-14 15:45:18 -0800 | [diff] [blame] | 127 | exclude_kotlinc_generated_files: false, | 
| Remi NGUYEN VAN | 168b3d1 | 2021-06-21 13:36:05 +0000 | [diff] [blame] | 128 | } | 
|  | 129 |  | 
| Remi NGUYEN VAN | 2ba9dbe | 2022-02-01 23:07:33 +0900 | [diff] [blame] | 130 | android_library { | 
|  | 131 | name: "FrameworksNetTestsLib", | 
|  | 132 | defaults: [ | 
|  | 133 | "FrameworksNetTestsDefaults", | 
|  | 134 | ], | 
|  | 135 | exclude_srcs: [":non-connectivity-module-test"], | 
|  | 136 | visibility: ["//packages/modules/Connectivity/tests:__subpackages__"], | 
|  | 137 | } | 
|  | 138 |  | 
| Mark | 53e71c3 | 2023-01-13 07:00:25 +0000 | [diff] [blame] | 139 | genrule { | 
|  | 140 | name: "frameworks-net-tests-jarjar-rules", | 
|  | 141 | defaults: ["jarjar-rules-combine-defaults"], | 
|  | 142 | srcs: [ | 
|  | 143 | ":frameworks-net-tests-lib-jarjar-gen", | 
|  | 144 | // This is necessary because the tests use framework-connectivity-internal-test-defaults, | 
|  | 145 | // which require the user to use connectivity jarjar rules. | 
|  | 146 | ":connectivity-jarjar-rules", | 
|  | 147 | ], | 
|  | 148 | out: ["frameworks-net-tests-jarjar-rules.txt"], | 
|  | 149 | visibility: ["//packages/modules/Connectivity/tests:__subpackages__"], | 
|  | 150 | } | 
|  | 151 |  | 
|  | 152 | java_genrule { | 
|  | 153 | name: "frameworks-net-tests-lib-jarjar-gen", | 
|  | 154 | tool_files: [ | 
|  | 155 | ":FrameworksNetTestsLib{.jar}", | 
|  | 156 | "jarjar-excludes.txt", | 
|  | 157 | ], | 
|  | 158 | tools: [ | 
|  | 159 | "jarjar-rules-generator", | 
|  | 160 | ], | 
|  | 161 | out: ["frameworks-net-tests-lib-jarjar-rules.txt"], | 
|  | 162 | cmd: "$(location jarjar-rules-generator) " + | 
|  | 163 | "$(location :FrameworksNetTestsLib{.jar}) " + | 
|  | 164 | "--prefix android.net.connectivity " + | 
|  | 165 | "--excludes $(location jarjar-excludes.txt) " + | 
|  | 166 | "--output $(out)", | 
|  | 167 | visibility: ["//visibility:private"], | 
|  | 168 | } | 
|  | 169 |  | 
| Remi NGUYEN VAN | 168b3d1 | 2021-06-21 13:36:05 +0000 | [diff] [blame] | 170 | android_test { | 
|  | 171 | name: "FrameworksNetTests", | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 172 | enabled: enable_frameworks_net_tests, | 
| Remi NGUYEN VAN | 168b3d1 | 2021-06-21 13:36:05 +0000 | [diff] [blame] | 173 | defaults: [ | 
| Remi NGUYEN VAN | 2ba9dbe | 2022-02-01 23:07:33 +0900 | [diff] [blame] | 174 | "FrameworksNetTestsDefaults", | 
| Remi NGUYEN VAN | 168b3d1 | 2021-06-21 13:36:05 +0000 | [diff] [blame] | 175 | "FrameworksNetTests-jni-defaults", | 
|  | 176 | ], | 
| Mark | 53e71c3 | 2023-01-13 07:00:25 +0000 | [diff] [blame] | 177 | jarjar_rules: ":frameworks-net-tests-jarjar-rules", | 
| Remi NGUYEN VAN | 168b3d1 | 2021-06-21 13:36:05 +0000 | [diff] [blame] | 178 | test_suites: ["device-tests"], | 
|  | 179 | static_libs: [ | 
| Remi NGUYEN VAN | f96ecf2 | 2021-11-19 18:26:07 +0900 | [diff] [blame] | 180 | "services.core", | 
|  | 181 | "services.net", | 
| Aaron Huang | 1ed8aff | 2021-09-28 15:37:49 +0800 | [diff] [blame] | 182 | ], | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 183 | jni_libs: [ | 
| Remi NGUYEN VAN | d950489 | 2022-02-02 13:03:29 +0900 | [diff] [blame] | 184 | "libandroid_net_connectivity_com_android_net_module_util_jni", | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 185 | "libservice-connectivity", | 
| Remi NGUYEN VAN | 2ba9dbe | 2022-02-01 23:07:33 +0900 | [diff] [blame] | 186 | ], | 
| Remi NGUYEN VAN | 678277c | 2021-05-11 13:37:06 +0000 | [diff] [blame] | 187 | } |