• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//########################################################################
2// Build FrameworksNetTests package
3//########################################################################
4package {
5    // See: http://go/android-license-faq
6    // A large-scale-change added 'default_applicable_licenses' to import
7    // all of the 'license_kinds' from "Android-Apache-2.0"
8    // to get the below license kinds:
9    //   SPDX-license-identifier-Apache-2.0
10    default_applicable_licenses: ["Android-Apache-2.0"],
11}
12
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.
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
22java_defaults {
23    name: "FrameworksNetTests-jni-defaults",
24    jni_libs: [
25        "ld-android",
26        "libandroid_net_frameworktests_util_jni",
27        "libbase",
28        "libbinder",
29        "libbpf_bcc",
30        "libc++",
31        "libcrypto",
32        "libcutils",
33        "libdl_android",
34        "libhidl-gen-utils",
35        "libhidlbase",
36        "libjsoncpp",
37        "liblog",
38        "liblzma",
39        "libnativehelper",
40        "libnetdutils",
41        "libnetworkstats",
42        "libnetworkstatsfactorytestjni",
43        "libpackagelistparser",
44        "libpcre2",
45        "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
58filegroup {
59    name: "non-connectivity-module-test",
60    srcs: [
61        "java/android/app/usage/*.java",
62        "java/android/net/EthernetNetworkUpdateRequestTest.java",
63        "java/android/net/Ikev2VpnProfileTest.java",
64        "java/android/net/IpMemoryStoreTest.java",
65        "java/android/net/IpSecAlgorithmTest.java",
66        "java/android/net/IpSecConfigTest.java",
67        "java/android/net/IpSecManagerTest.java",
68        "java/android/net/IpSecTransformTest.java",
69        "java/android/net/KeepalivePacketDataUtilTest.java",
70        "java/android/net/NetworkIdentitySetTest.kt",
71        "java/android/net/NetworkIdentityTest.kt",
72        "java/android/net/NetworkStats*.java",
73        "java/android/net/NetworkTemplateTest.kt",
74        "java/android/net/TelephonyNetworkSpecifierTest.java",
75        "java/android/net/VpnManagerTest.java",
76        "java/android/net/ipmemorystore/*.java",
77        "java/android/net/netstats/NetworkStatsDataMigrationUtilsTest.kt",
78        "java/android/net/nsd/*.java",
79        "java/com/android/internal/net/NetworkUtilsInternalTest.java",
80        "java/com/android/internal/net/VpnProfileTest.java",
81        "java/com/android/server/IpSecServiceParameterizedTest.java",
82        "java/com/android/server/IpSecServiceRefcountedResourceTest.java",
83        "java/com/android/server/IpSecServiceTest.java",
84        "java/com/android/server/NetworkManagementServiceTest.java",
85        "java/com/android/server/NsdServiceTest.java",
86        "java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java",
87        "java/com/android/server/connectivity/IpConnectivityMetricsTest.java",
88        "java/com/android/server/connectivity/MultipathPolicyTrackerTest.java",
89        "java/com/android/server/connectivity/NetdEventListenerServiceTest.java",
90        "java/com/android/server/connectivity/VpnTest.java",
91        "java/com/android/server/ethernet/*.java",
92        "java/com/android/server/net/ipmemorystore/*.java",
93        "java/com/android/server/net/BpfInterfaceMapUpdaterTest.java",
94        "java/com/android/server/net/IpConfigStoreTest.java",
95        "java/com/android/server/net/NetworkStats*.java",
96        "java/com/android/server/net/TestableUsageCallback.kt",
97    ]
98}
99
100// Subset of services-core used to by ConnectivityService tests to test VPN realistically.
101// This is stripped by jarjar (see rules below) from other unrelated classes, so tests do not
102// include most classes from services-core, which are unrelated and cause wrong code coverage
103// calculations.
104java_library {
105    name: "services.core-vpn",
106    static_libs: ["services.core"],
107    jarjar_rules: "vpn-jarjar-rules.txt",
108    visibility: ["//visibility:private"],
109}
110
111java_defaults {
112    name: "FrameworksNetTestsDefaults",
113    min_sdk_version: "30",
114    defaults: [
115        "framework-connectivity-internal-test-defaults",
116    ],
117    srcs: [
118        "java/**/*.java",
119        "java/**/*.kt",
120    ],
121    static_libs: [
122        "androidx.test.rules",
123        "androidx.test.uiautomator",
124        "bouncycastle-repackaged-unbundled",
125        "core-tests-support",
126        "FrameworksNetCommonTests",
127        "frameworks-base-testutils",
128        "frameworks-net-integration-testutils",
129        "framework-protos",
130        "mockito-target-minus-junit4",
131        "net-tests-utils",
132        "net-utils-services-common",
133        "platform-compat-test-rules",
134        "platform-test-annotations",
135        "service-connectivity-pre-jarjar",
136        "service-connectivity-tiramisu-pre-jarjar",
137        "services.core-vpn",
138        "cts-net-utils"
139    ],
140    libs: [
141        "android.net.ipsec.ike.stubs.module_lib",
142        "android.test.runner",
143        "android.test.base",
144        "android.test.mock",
145        "ServiceConnectivityResources",
146    ],
147    exclude_kotlinc_generated_files: false,
148}
149
150android_library {
151    name: "FrameworksNetTestsLib",
152    defaults: [
153        "FrameworksNetTestsDefaults",
154    ],
155    exclude_srcs: [":non-connectivity-module-test"],
156    visibility: ["//packages/modules/Connectivity/tests:__subpackages__"],
157}
158
159android_test {
160    name: "FrameworksNetTests",
161    enabled: enable_frameworks_net_tests,
162    defaults: [
163        "FrameworksNetTestsDefaults",
164        "FrameworksNetTests-jni-defaults",
165    ],
166    jarjar_rules: ":connectivity-jarjar-rules",
167    test_suites: ["device-tests"],
168    static_libs: [
169        "services.core",
170        "services.net",
171    ],
172    jni_libs: [
173        "libandroid_net_connectivity_com_android_net_module_util_jni",
174        "libservice-connectivity",
175        "libandroid_net_connectivity_com_android_net_module_util_jni",
176    ],
177}
178