Jarjar com.android.server* and adjust the test by jarjar FrameworksNetTestsLib to make sure the test cases still can access package sope fields. Don't auto-jarjar non-connectivity module tests in FrameworksNetTests because some non-connectivity module test cases rely on service.core and service.net. The reason why not auto-jarjar whole ConnectivityCoverageTests because tethering doesn't adopt auto-jarjar-gen yet. The coverage test must jarjar the same as module so that test coverage can calculate correctly. Remove com.android.server* from proguard becasue it already be covered by android.net* after jarjar'ed. Move MetricsTestUtil to non connectivity module test group because it only be used for IpConnectivityEventBuilderTest which is non connectivity module test. Only jarjar the util without jarjar the caller make the test failure. Bug: 248001529 Test: atest ConnectivityCoverageTests FrameworksNetTests Change-Id: I8439341ef4c03f29697fdf34557ea8ef2825d691
189 lines
6.2 KiB
Plaintext
189 lines
6.2 KiB
Plaintext
//########################################################################
|
|
// Build FrameworksNetTests package
|
|
//########################################################################
|
|
package {
|
|
// See: http://go/android-license-faq
|
|
// A large-scale-change added 'default_applicable_licenses' to import
|
|
// all of the 'license_kinds' from "Android-Apache-2.0"
|
|
// to get the below license kinds:
|
|
// SPDX-license-identifier-Apache-2.0
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
// Whether to enable the FrameworksNetTests. Set to false in the branches that might have older
|
|
// frameworks/base since FrameworksNetTests includes the test for classes that are not in
|
|
// connectivity module.
|
|
enable_frameworks_net_tests = true
|
|
// Placeholder
|
|
// This is a placeholder comment to minimize merge conflicts, as enable_frameworks_net_tests
|
|
// may have different values depending on the branch
|
|
// Placeholder
|
|
|
|
java_defaults {
|
|
name: "FrameworksNetTests-jni-defaults",
|
|
jni_libs: [
|
|
"ld-android",
|
|
"libandroid_net_frameworktests_util_jni",
|
|
"libbase",
|
|
"libbinder",
|
|
"libbpf_bcc",
|
|
"libc++",
|
|
"libcrypto",
|
|
"libcutils",
|
|
"libdl_android",
|
|
"libhidl-gen-utils",
|
|
"libhidlbase",
|
|
"libjsoncpp",
|
|
"liblog",
|
|
"liblzma",
|
|
"libnativehelper",
|
|
"libnetdutils",
|
|
"libnetworkstats",
|
|
"libnetworkstatsfactorytestjni",
|
|
"libpackagelistparser",
|
|
"libpcre2",
|
|
"libselinux",
|
|
"libtinyxml2",
|
|
"libui",
|
|
"libunwindstack",
|
|
"libutils",
|
|
"libutilscallstack",
|
|
"libvndksupport",
|
|
"libziparchive",
|
|
"libz",
|
|
"netd_aidl_interface-V5-cpp",
|
|
],
|
|
}
|
|
|
|
filegroup {
|
|
name: "non-connectivity-module-test",
|
|
srcs: [
|
|
"java/android/net/Ikev2VpnProfileTest.java",
|
|
"java/android/net/IpMemoryStoreTest.java",
|
|
"java/android/net/TelephonyNetworkSpecifierTest.java",
|
|
"java/android/net/VpnManagerTest.java",
|
|
"java/android/net/ipmemorystore/*.java",
|
|
"java/android/net/netstats/NetworkStatsDataMigrationUtilsTest.kt",
|
|
"java/com/android/internal/net/NetworkUtilsInternalTest.java",
|
|
"java/com/android/internal/net/VpnProfileTest.java",
|
|
"java/com/android/server/VpnManagerServiceTest.java",
|
|
"java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java",
|
|
"java/com/android/server/connectivity/IpConnectivityMetricsTest.java",
|
|
"java/com/android/server/connectivity/MetricsTestUtil.java",
|
|
"java/com/android/server/connectivity/MultipathPolicyTrackerTest.java",
|
|
"java/com/android/server/connectivity/NetdEventListenerServiceTest.java",
|
|
"java/com/android/server/connectivity/VpnTest.java",
|
|
"java/com/android/server/net/ipmemorystore/*.java",
|
|
]
|
|
}
|
|
|
|
// Subset of services-core used to by ConnectivityService tests to test VPN realistically.
|
|
// This is stripped by jarjar (see rules below) from other unrelated classes, so tests do not
|
|
// include most classes from services-core, which are unrelated and cause wrong code coverage
|
|
// calculations.
|
|
java_library {
|
|
name: "services.core-vpn",
|
|
static_libs: ["services.core"],
|
|
jarjar_rules: "vpn-jarjar-rules.txt",
|
|
visibility: ["//visibility:private"],
|
|
}
|
|
|
|
java_defaults {
|
|
name: "FrameworksNetTestsDefaults",
|
|
min_sdk_version: "30",
|
|
defaults: [
|
|
"framework-connectivity-internal-test-defaults",
|
|
],
|
|
srcs: [
|
|
"java/**/*.java",
|
|
"java/**/*.kt",
|
|
],
|
|
static_libs: [
|
|
"androidx.test.rules",
|
|
"androidx.test.uiautomator_uiautomator",
|
|
"bouncycastle-repackaged-unbundled",
|
|
"core-tests-support",
|
|
"FrameworksNetCommonTests",
|
|
"frameworks-base-testutils",
|
|
"frameworks-net-integration-testutils",
|
|
"framework-protos",
|
|
"mockito-target-minus-junit4",
|
|
"net-tests-utils",
|
|
"net-utils-services-common",
|
|
"platform-compat-test-rules",
|
|
"platform-test-annotations",
|
|
"service-connectivity-pre-jarjar",
|
|
"service-connectivity-tiramisu-pre-jarjar",
|
|
"services.core-vpn",
|
|
"testables",
|
|
"cts-net-utils"
|
|
],
|
|
libs: [
|
|
"android.net.ipsec.ike.stubs.module_lib",
|
|
"android.test.runner",
|
|
"android.test.base",
|
|
"android.test.mock",
|
|
"ServiceConnectivityResources",
|
|
],
|
|
exclude_kotlinc_generated_files: false,
|
|
}
|
|
|
|
android_library {
|
|
name: "FrameworksNetTestsLib",
|
|
defaults: [
|
|
"FrameworksNetTestsDefaults",
|
|
],
|
|
exclude_srcs: [":non-connectivity-module-test"],
|
|
visibility: ["//packages/modules/Connectivity/tests:__subpackages__"],
|
|
}
|
|
|
|
genrule {
|
|
name: "frameworks-net-tests-jarjar-rules",
|
|
defaults: ["jarjar-rules-combine-defaults"],
|
|
srcs: [
|
|
":frameworks-net-tests-lib-jarjar-gen",
|
|
// This is necessary because the tests use framework-connectivity-internal-test-defaults,
|
|
// which require the user to use connectivity jarjar rules.
|
|
":connectivity-jarjar-rules",
|
|
],
|
|
out: ["frameworks-net-tests-jarjar-rules.txt"],
|
|
visibility: ["//packages/modules/Connectivity/tests:__subpackages__"],
|
|
}
|
|
|
|
java_genrule {
|
|
name: "frameworks-net-tests-lib-jarjar-gen",
|
|
tool_files: [
|
|
":FrameworksNetTestsLib{.jar}",
|
|
"jarjar-excludes.txt",
|
|
],
|
|
tools: [
|
|
"jarjar-rules-generator",
|
|
],
|
|
out: ["frameworks-net-tests-lib-jarjar-rules.txt"],
|
|
cmd: "$(location jarjar-rules-generator) " +
|
|
"$(location :FrameworksNetTestsLib{.jar}) " +
|
|
"--prefix android.net.connectivity " +
|
|
"--excludes $(location jarjar-excludes.txt) " +
|
|
"--output $(out)",
|
|
visibility: ["//visibility:private"],
|
|
}
|
|
|
|
android_test {
|
|
name: "FrameworksNetTests",
|
|
enabled: enable_frameworks_net_tests,
|
|
defaults: [
|
|
"FrameworksNetTestsDefaults",
|
|
"FrameworksNetTests-jni-defaults",
|
|
],
|
|
jarjar_rules: ":frameworks-net-tests-jarjar-rules",
|
|
test_suites: ["device-tests"],
|
|
static_libs: [
|
|
"services.core",
|
|
"services.net",
|
|
],
|
|
jni_libs: [
|
|
"libandroid_net_connectivity_com_android_net_module_util_jni",
|
|
"libservice-connectivity",
|
|
],
|
|
}
|