blob: a5d2f4ae30ec84f047c72b298c14835e4feb2cb2 [file] [log] [blame]
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +00001//########################################################################
2// Build FrameworksNetTests package
3//########################################################################
4package {
Aditya Choudhary01b5ede2024-01-31 11:08:57 +00005 default_team: "trendy_team_fwk_core_networking",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +00006 // See: http://go/android-license-faq
7 // A large-scale-change added 'default_applicable_licenses' to import
Baligh Uddin2afd0982021-05-24 03:50:01 +00008 // all of the 'license_kinds' from "Android-Apache-2.0"
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +00009 // to get the below license kinds:
10 // SPDX-license-identifier-Apache-2.0
Baligh Uddin2afd0982021-05-24 03:50:01 +000011 default_applicable_licenses: ["Android-Apache-2.0"],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000012}
13
Aaron Huang1ed8aff2021-09-28 15:37:49 +080014// Whether to enable the FrameworksNetTests. Set to false in the branches that might have older
15// frameworks/base since FrameworksNetTests includes the test for classes that are not in
16// connectivity module.
17enable_frameworks_net_tests = true
18// Placeholder
19// This is a placeholder comment to minimize merge conflicts, as enable_frameworks_net_tests
20// may have different values depending on the branch
21// Placeholder
22
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000023java_defaults {
24 name: "FrameworksNetTests-jni-defaults",
25 jni_libs: [
26 "ld-android",
Lorenzo Colitti0c26c9e2022-01-27 18:40:51 +090027 "libandroid_net_frameworktests_util_jni",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000028 "libbase",
29 "libbinder",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000030 "libc++",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000031 "libcrypto",
32 "libcutils",
33 "libdl_android",
34 "libhidl-gen-utils",
35 "libhidlbase",
36 "libjsoncpp",
37 "liblog",
38 "liblzma",
39 "libnativehelper",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000040 "libnetdutils",
Ken Chenf426b2b2022-01-23 15:39:13 +080041 "libnetworkstats",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000042 "libnetworkstatsfactorytestjni",
43 "libpackagelistparser",
44 "libpcre2",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000045 "libselinux",
46 "libtinyxml2",
47 "libui",
48 "libunwindstack",
49 "libutils",
50 "libutilscallstack",
51 "libvndksupport",
52 "libziparchive",
53 "libz",
54 "netd_aidl_interface-V5-cpp",
55 ],
56}
57
Aaron Huang1ed8aff2021-09-28 15:37:49 +080058filegroup {
59 name: "non-connectivity-module-test",
60 srcs: [
Aaron Huang1ed8aff2021-09-28 15:37:49 +080061 "java/android/net/IpMemoryStoreTest.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080062 "java/android/net/TelephonyNetworkSpecifierTest.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080063 "java/android/net/ipmemorystore/*.java",
junyulaia1bb3a32022-01-25 09:55:24 +080064 "java/android/net/netstats/NetworkStatsDataMigrationUtilsTest.kt",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080065 "java/com/android/internal/net/NetworkUtilsInternalTest.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080066 "java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java",
67 "java/com/android/server/connectivity/IpConnectivityMetricsTest.java",
Mark53e71c32023-01-13 07:00:25 +000068 "java/com/android/server/connectivity/MetricsTestUtil.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080069 "java/com/android/server/connectivity/MultipathPolicyTrackerTest.java",
70 "java/com/android/server/connectivity/NetdEventListenerServiceTest.java",
Aaron Huang1ed8aff2021-09-28 15:37:49 +080071 "java/com/android/server/net/ipmemorystore/*.java",
Aditya Choudhary01b5ede2024-01-31 11:08:57 +000072 ],
Aaron Huang1ed8aff2021-09-28 15:37:49 +080073}
74
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +090075// Subset of services-core used to by ConnectivityService tests to test VPN realistically.
76// This is stripped by jarjar (see rules below) from other unrelated classes, so tests do not
77// include most classes from services-core, which are unrelated and cause wrong code coverage
78// calculations.
79java_library {
80 name: "services.core-vpn",
81 static_libs: ["services.core"],
82 jarjar_rules: "vpn-jarjar-rules.txt",
83 visibility: ["//visibility:private"],
84}
85
Remi NGUYEN VAN2ba9dbe2022-02-01 23:07:33 +090086java_defaults {
87 name: "FrameworksNetTestsDefaults",
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +000088 min_sdk_version: "30",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000089 defaults: [
Remi NGUYEN VAN1a8ee102022-05-30 12:42:24 +090090 "framework-connectivity-internal-test-defaults",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000091 ],
92 srcs: [
93 "java/**/*.java",
94 "java/**/*.kt",
95 ],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000096 static_libs: [
97 "androidx.test.rules",
Daniel Peykov2bf3a382022-09-16 16:52:24 +000098 "androidx.test.uiautomator_uiautomator",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +000099 "bouncycastle-repackaged-unbundled",
Remi NGUYEN VAN819045f2021-06-07 13:10:49 +0900100 "core-tests-support",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000101 "FrameworksNetCommonTests",
102 "frameworks-base-testutils",
103 "frameworks-net-integration-testutils",
104 "framework-protos",
105 "mockito-target-minus-junit4",
106 "net-tests-utils",
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +0900107 "net-utils-services-common",
Luke Huang952a55c2021-07-13 11:58:37 +0800108 "platform-compat-test-rules",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000109 "platform-test-annotations",
110 "service-connectivity-pre-jarjar",
paulhu802ab972021-12-14 01:30:22 +0000111 "service-connectivity-tiramisu-pre-jarjar",
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +0900112 "services.core-vpn",
Aaron Huang361e6172023-02-03 17:35:12 +0800113 "testables",
Aditya Choudhary01b5ede2024-01-31 11:08:57 +0000114 "cts-net-utils",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000115 ],
116 libs: [
117 "android.net.ipsec.ike.stubs.module_lib",
118 "android.test.runner",
119 "android.test.base",
120 "android.test.mock",
121 "ServiceConnectivityResources",
122 ],
Wei Li8a177f62022-01-14 15:45:18 -0800123 exclude_kotlinc_generated_files: false,
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000124}
125
Remi NGUYEN VAN2ba9dbe2022-02-01 23:07:33 +0900126android_library {
127 name: "FrameworksNetTestsLib",
128 defaults: [
129 "FrameworksNetTestsDefaults",
130 ],
131 exclude_srcs: [":non-connectivity-module-test"],
132 visibility: ["//packages/modules/Connectivity/tests:__subpackages__"],
133}
134
Mark53e71c32023-01-13 07:00:25 +0000135genrule {
136 name: "frameworks-net-tests-jarjar-rules",
137 defaults: ["jarjar-rules-combine-defaults"],
138 srcs: [
139 ":frameworks-net-tests-lib-jarjar-gen",
140 // This is necessary because the tests use framework-connectivity-internal-test-defaults,
141 // which require the user to use connectivity jarjar rules.
142 ":connectivity-jarjar-rules",
143 ],
144 out: ["frameworks-net-tests-jarjar-rules.txt"],
145 visibility: ["//packages/modules/Connectivity/tests:__subpackages__"],
146}
147
148java_genrule {
149 name: "frameworks-net-tests-lib-jarjar-gen",
150 tool_files: [
151 ":FrameworksNetTestsLib{.jar}",
152 "jarjar-excludes.txt",
153 ],
154 tools: [
155 "jarjar-rules-generator",
156 ],
157 out: ["frameworks-net-tests-lib-jarjar-rules.txt"],
158 cmd: "$(location jarjar-rules-generator) " +
159 "$(location :FrameworksNetTestsLib{.jar}) " +
160 "--prefix android.net.connectivity " +
161 "--excludes $(location jarjar-excludes.txt) " +
162 "--output $(out)",
163 visibility: ["//visibility:private"],
164}
165
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000166android_test {
167 name: "FrameworksNetTests",
Aaron Huang1ed8aff2021-09-28 15:37:49 +0800168 enabled: enable_frameworks_net_tests,
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000169 defaults: [
Remi NGUYEN VAN2ba9dbe2022-02-01 23:07:33 +0900170 "FrameworksNetTestsDefaults",
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000171 "FrameworksNetTests-jni-defaults",
172 ],
Mark53e71c32023-01-13 07:00:25 +0000173 jarjar_rules: ":frameworks-net-tests-jarjar-rules",
Remi NGUYEN VAN168b3d12021-06-21 13:36:05 +0000174 test_suites: ["device-tests"],
175 static_libs: [
Remi NGUYEN VANf96ecf22021-11-19 18:26:07 +0900176 "services.core",
177 "services.net",
Aaron Huang1ed8aff2021-09-28 15:37:49 +0800178 ],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000179 jni_libs: [
Remi NGUYEN VANd9504892022-02-02 13:03:29 +0900180 "libandroid_net_connectivity_com_android_net_module_util_jni",
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000181 "libservice-connectivity",
Remi NGUYEN VAN2ba9dbe2022-02-01 23:07:33 +0900182 ],
Remi NGUYEN VAN678277c2021-05-11 13:37:06 +0000183}