blob: 8b286a07b3d431ba978c18bc864219569bcd67a0 [file] [log] [blame]
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +00001//########################################################################
2// Build FrameworksNetTests package
3//########################################################################
4package {
5 // See: http://go/android-license-faq
6 // A large-scale-change added 'default_applicable_licenses' to import
Baligh Uddin2afd0982021-05-24 03:50:01 +00007 // all of the 'license_kinds' from "Android-Apache-2.0"
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +00008 // to get the below license kinds:
9 // SPDX-license-identifier-Apache-2.0
Baligh Uddin2afd0982021-05-24 03:50:01 +000010 default_applicable_licenses: ["Android-Apache-2.0"],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000011}
12
Aaron Huang1ed8aff2021-09-28 15:37:49 +080013// 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.
16enable_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 VAN678277c2021-05-11 13:37:06 +000022java_defaults {
23 name: "FrameworksNetTests-jni-defaults",
24 jni_libs: [
25 "ld-android",
Lorenzo Colitti0c26c9e2022-01-27 18:40:51 +090026 "libandroid_net_frameworktests_util_jni",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000027 "libbase",
28 "libbinder",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000029 "libc++",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000030 "libcrypto",
31 "libcutils",
32 "libdl_android",
33 "libhidl-gen-utils",
34 "libhidlbase",
35 "libjsoncpp",
36 "liblog",
37 "liblzma",
38 "libnativehelper",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000039 "libnetdutils",
Ken Chenf426b2b2022-01-23 15:39:13 +080040 "libnetworkstats",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000041 "libnetworkstatsfactorytestjni",
42 "libpackagelistparser",
43 "libpcre2",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000044 "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 Huang1ed8aff2021-09-28 15:37:49 +080057filegroup {
58 name: "non-connectivity-module-test",
59 srcs: [
Aaron Huang1ed8aff2021-09-28 15:37:49 +080060 "java/android/net/Ikev2VpnProfileTest.java",
61 "java/android/net/IpMemoryStoreTest.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080062 "java/android/net/TelephonyNetworkSpecifierTest.java",
63 "java/android/net/VpnManagerTest.java",
64 "java/android/net/ipmemorystore/*.java",
junyulaia1bb3a32022-01-25 09:55:24 +080065 "java/android/net/netstats/NetworkStatsDataMigrationUtilsTest.kt",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080066 "java/com/android/internal/net/NetworkUtilsInternalTest.java",
67 "java/com/android/internal/net/VpnProfileTest.java",
chiachangwang7f5d0492022-06-28 09:15:12 +000068 "java/com/android/server/VpnManagerServiceTest.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080069 "java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java",
70 "java/com/android/server/connectivity/IpConnectivityMetricsTest.java",
Mark53e71c32023-01-13 07:00:25 +000071 "java/com/android/server/connectivity/MetricsTestUtil.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080072 "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 Huang1ed8aff2021-09-28 15:37:49 +080076 ]
77}
78
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +090079// 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.
83java_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 VAN2ba9dbe2022-02-01 23:07:33 +090090java_defaults {
91 name: "FrameworksNetTestsDefaults",
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +000092 min_sdk_version: "30",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000093 defaults: [
Remi NGUYEN VAN1a8ee102022-05-30 12:42:24 +090094 "framework-connectivity-internal-test-defaults",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000095 ],
96 srcs: [
97 "java/**/*.java",
98 "java/**/*.kt",
99 ],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000100 static_libs: [
101 "androidx.test.rules",
Daniel Peykov2bf3a382022-09-16 16:52:24 +0000102 "androidx.test.uiautomator_uiautomator",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000103 "bouncycastle-repackaged-unbundled",
Remi NGUYEN VAN819045f2021-06-07 13:10:49 +0900104 "core-tests-support",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000105 "FrameworksNetCommonTests",
106 "frameworks-base-testutils",
107 "frameworks-net-integration-testutils",
108 "framework-protos",
109 "mockito-target-minus-junit4",
110 "net-tests-utils",
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +0900111 "net-utils-services-common",
Luke Huang952a55c2021-07-13 11:58:37 +0800112 "platform-compat-test-rules",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000113 "platform-test-annotations",
114 "service-connectivity-pre-jarjar",
paulhu802ab972021-12-14 01:30:22 +0000115 "service-connectivity-tiramisu-pre-jarjar",
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +0900116 "services.core-vpn",
Aaron Huang361e6172023-02-03 17:35:12 +0800117 "testables",
Paul Hu67db37d2022-07-29 01:50:24 +0000118 "cts-net-utils"
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000119 ],
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 Li8a177f62022-01-14 15:45:18 -0800127 exclude_kotlinc_generated_files: false,
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000128}
129
Remi NGUYEN VAN2ba9dbe2022-02-01 23:07:33 +0900130android_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
Mark53e71c32023-01-13 07:00:25 +0000139genrule {
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
152java_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 VAN168b3d12021-06-21 13:36:05 +0000170android_test {
171 name: "FrameworksNetTests",
Aaron Huang1ed8aff2021-09-28 15:37:49 +0800172 enabled: enable_frameworks_net_tests,
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000173 defaults: [
Remi NGUYEN VAN2ba9dbe2022-02-01 23:07:33 +0900174 "FrameworksNetTestsDefaults",
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000175 "FrameworksNetTests-jni-defaults",
176 ],
Mark53e71c32023-01-13 07:00:25 +0000177 jarjar_rules: ":frameworks-net-tests-jarjar-rules",
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000178 test_suites: ["device-tests"],
179 static_libs: [
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +0900180 "services.core",
181 "services.net",
Aaron Huang1ed8aff2021-09-28 15:37:49 +0800182 ],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000183 jni_libs: [
Remi NGUYEN VANd9504892022-02-02 13:03:29 +0900184 "libandroid_net_connectivity_com_android_net_module_util_jni",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000185 "libservice-connectivity",
Remi NGUYEN VAN2ba9dbe2022-02-01 23:07:33 +0900186 ],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000187}