diff --git a/Tethering/common/TetheringLib/Android.bp b/Tethering/common/TetheringLib/Android.bp
index fce436079b..f65277269f 100644
--- a/Tethering/common/TetheringLib/Android.bp
+++ b/Tethering/common/TetheringLib/Android.bp
@@ -22,6 +22,7 @@ java_sdk_library {
defaults: ["framework-module-defaults"],
impl_library_visibility: [
"//packages/modules/Connectivity/Tethering:__subpackages__",
+ "//packages/modules/Connectivity/tests:__subpackages__",
],
srcs: [":framework-tethering-srcs"],
diff --git a/Tethering/tests/integration/Android.bp b/Tethering/tests/integration/Android.bp
index 351b9f4f5a..e807613ecd 100644
--- a/Tethering/tests/integration/Android.bp
+++ b/Tethering/tests/integration/Android.bp
@@ -51,7 +51,8 @@ android_library {
defaults: ["TetheringIntegrationTestsDefaults"],
visibility: [
"//packages/modules/Connectivity/tests/cts/tethering",
- "//packages/modules/Connectivity/Tethering/tests/mts",
+ "//packages/modules/Connectivity/tests:__subpackages__",
+ "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
]
}
@@ -104,7 +105,6 @@ android_test {
"libnetworkstackutilsjni",
"libtetherutilsjni",
],
- jarjar_rules: ":TetheringTestsJarJarRules",
compile_multilib: "both",
manifest: "AndroidManifest_coverage.xml",
}
diff --git a/Tethering/tests/unit/Android.bp b/Tethering/tests/unit/Android.bp
index c6f19d7a16..1233345477 100644
--- a/Tethering/tests/unit/Android.bp
+++ b/Tethering/tests/unit/Android.bp
@@ -77,6 +77,7 @@ java_defaults {
"libstaticjvmtiagent",
"libtetherutilsjni",
],
+ jarjar_rules: ":TetheringTestsJarJarRules",
}
// Library containing the unit tests. This is used by the coverage test target to pull in the
@@ -87,7 +88,8 @@ android_library {
defaults: ["TetheringTestsDefaults"],
target_sdk_version: "30",
visibility: [
- "//packages/modules/Connectivity/Tethering/tests/integration",
+ "//packages/modules/Connectivity/tests:__subpackages__",
+ "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
]
}
@@ -98,7 +100,6 @@ android_test {
"device-tests",
"mts",
],
- jarjar_rules: ":TetheringTestsJarJarRules",
defaults: ["TetheringTestsDefaults"],
compile_multilib: "both",
}
diff --git a/tests/common/Android.bp b/tests/common/Android.bp
index e8963b9011..28339f116d 100644
--- a/tests/common/Android.bp
+++ b/tests/common/Android.bp
@@ -43,6 +43,53 @@ java_library {
],
}
+android_test {
+ name: "ConnectivityCoverageTests",
+ // Tethering started on SDK 30
+ min_sdk_version: "30",
+ // TODO: change to 31 as soon as it is available
+ target_sdk_version: "30",
+ test_suites: ["device-tests", "mts"],
+ defaults: [
+ "framework-connectivity-test-defaults",
+ "FrameworksNetTests-jni-defaults",
+ "libnetworkstackutilsjni_deps",
+ ],
+ manifest: "AndroidManifest_coverage.xml",
+ test_config: "AndroidTest_Coverage.xml",
+ static_libs: [
+ // Added first so all tests use extended mockito, instead of all tests using regular mockito
+ // (some tests would fail).
+ // TODO: consider removing extended mockito usage in tests that use it, for performance
+ "mockito-target-extended-minus-junit4",
+ "FrameworksNetTestsLib",
+ "modules-utils-native-coverage-listener",
+ "NetdStaticLibTestsLib",
+ "NetworkStaticLibTestsLib",
+ "NetworkStackTestsLib",
+ "TetheringTestsLatestSdkLib",
+ "TetheringIntegrationTestsLatestSdkLib",
+ ],
+ jni_libs: [
+ // For mockito extended
+ "libdexmakerjvmtiagent",
+ "libstaticjvmtiagent",
+ // For NetworkStackUtils included in NetworkStackBase
+ "libnetworkstackutilsjni",
+ "libtetherutilsjni",
+ // For framework tests
+ "libservice-connectivity",
+ ],
+ libs: [
+ // Although not required to compile the static libs together, the "libs" used to build each
+ // of the common static test libs are necessary for R8 to avoid "Missing class" warnings and
+ // incorrect optimizations
+ "framework-tethering.impl",
+ "framework-wifi.stubs.module_lib",
+ ],
+ compile_multilib: "both",
+}
+
// defaults for tests that need to build against framework-connectivity's @hide APIs
// Only usable from targets that have visibility on framework-connectivity.impl.
// Instead of using this, consider avoiding to depend on hidden connectivity APIs in
diff --git a/tests/common/AndroidManifest_coverage.xml b/tests/common/AndroidManifest_coverage.xml
new file mode 100644
index 0000000000..8a22792af8
--- /dev/null
+++ b/tests/common/AndroidManifest_coverage.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/common/AndroidTest_Coverage.xml b/tests/common/AndroidTest_Coverage.xml
new file mode 100644
index 0000000000..577f36a3da
--- /dev/null
+++ b/tests/common/AndroidTest_Coverage.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
index 98c15db4b4..ffff681ccc 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -49,17 +49,16 @@ java_defaults {
],
}
-android_test {
- name: "FrameworksNetTests",
+android_library {
+ name: "FrameworksNetTestsLib",
+ min_sdk_version: "30",
defaults: [
"framework-connectivity-test-defaults",
- "FrameworksNetTests-jni-defaults",
],
srcs: [
"java/**/*.java",
"java/**/*.kt",
],
- test_suites: ["device-tests"],
jarjar_rules: "jarjar-rules.txt",
static_libs: [
"androidx.test.rules",
@@ -83,7 +82,21 @@ android_test {
"android.test.mock",
"ServiceConnectivityResources",
],
+ visibility: ["//packages/modules/Connectivity/tests:__subpackages__"],
+}
+
+android_test {
+ name: "FrameworksNetTests",
+ min_sdk_version: "30",
+ defaults: [
+ "framework-connectivity-test-defaults",
+ "FrameworksNetTests-jni-defaults",
+ ],
+ test_suites: ["device-tests"],
+ static_libs: [
+ "FrameworksNetTestsLib",
+ ],
jni_libs: [
"libservice-connectivity",
- ],
+ ]
}