android_packages_modules_Co.../tests/unit/Android.bp
Chiachang Wang 4529ba8255 Move platform VPN related test to FrameworksVpnTests
These VPN related tests are considered as non-connectivity-module
tests as the corresponding sources are inside the platform
code instead of module. From architecture point of view, these
test would be better to place together with their sources in the
same git so that the tests do not need to restrictions(e.g. SDK
check) to fit into the module tests.

Test: atest FrameworksNetTests FrameworksVpnTests
Change-Id: I10e00c2b52262f23aa8ca38e545196bf93612e51
2024-03-01 07:03:14 +00:00

183 lines
5.9 KiB
Text

//########################################################################
// Build FrameworksNetTests package
//########################################################################
package {
default_team: "trendy_team_fwk_core_networking",
// 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",
"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/IpMemoryStoreTest.java",
"java/android/net/TelephonyNetworkSpecifierTest.java",
"java/android/net/ipmemorystore/*.java",
"java/android/net/netstats/NetworkStatsDataMigrationUtilsTest.kt",
"java/com/android/internal/net/NetworkUtilsInternalTest.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/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",
],
}